SAE部署Spring项目遇到的坑

来源:互联网 发布:最好的c语言编译器 编辑:程序博客网 时间:2024/05/22 02:13

JAR包冲突

这里写图片描述

JAVA_Error: Unable to reach node goal: startedjava.lang.LinkageError: loader constraint violation: loader (instance of org/eclipse/jetty/webapp/WebAppClassLoader) previously initiated loading for a different type with name "javax/servlet/ServletContext"at java.lang.ClassLoader.defineClass1(Native Method)at java.lang.ClassLoader.defineClass(ClassLoader.java:899)at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)

这里是因为新浪云SAE容器中自带了servlet jsp等一些基础的包,所以要在自己项目的Maven配置文件pom.xml 将 servlet jsp 的jar包设置为privoider

<dependency>    <groupId>javax.servlet</groupId>    <artifactId>servlet-api</artifactId>    <version>2.5</version>    <scope>provided</scope></dependency><dependency>    <groupId>javax.servlet.jsp</groupId>    <artifactId>jsp-api</artifactId>    <version>2.1</version>    <scope>provided</scope></dependency>

再次上传重新打包的war包后,就可以正常运行了。

URL地址

这个简单说下,在本地tomcat访问的URL地址是localhost/projectName/xx.jsp ,而在SAE上为projectName.applinzi.com/xx.jsp 或者 1.projectName.applinzi.com/xx.jsp 。
这里的projectName 根据SAE要求,就是你“创建应用”时候的appName。
上传的war包 ,也应该是appName.war这种格式,但具体Eclipse中的项目名应该可以不同。

MySQL配置

这里数据库MySQL要按照SAE文档所给的重新配置。

0 0