SAE部署Spring项目遇到的坑

JAR包冲突

SAE部署Spring项目遇到的坑_第1张图片

JAVA_Error: Unable to reach node goal: started
java.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.servletgroupId>
    <artifactId>servlet-apiartifactId>
    <version>2.5version>
    <scope>providedscope>
dependency>
<dependency>
    <groupId>javax.servlet.jspgroupId>
    <artifactId>jsp-apiartifactId>
    <version>2.1version>
    <scope>providedscope>
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文档所给的重新配置。

你可能感兴趣的:(Spring,Tomcat)