Spring Boot - 将Jar包装转换为战争包装

时间:2017-03-08 11:38:20

标签: java spring maven spring-boot war

我正在使用Spring Boot-Framework进行Web应用程序构建...即将结束,我想从终端启动我的应用程序

  

java -jar application.jar

然后我确定jar文件无法处理JSP-Files。有了这个想法,我在这里编辑了Maven的POM文件:

<project>
  ....
  <groupId>com.test.test</groupId>
  <artifactId>Application</artifactId>
  <version>0.1.0</version>
  <packaging>war</packaging>
  ....
</project>

构建应用程序时,会显示以下错误语句:

  

----------------------------------------------- -------------------------建立Testbackend 0.1.0   -------------------------------------------------- ----------------------下载:   文件:// C://mod_repository/org/apache/maven/plugins/maven-war-plugin/2.6/maven-war-plugin-2.6.pom   线程&#34; pool-1-thread-1&#34;中的异常java.lang.NoClassDefFoundError:   org / apache / commons / lang / StringUtils at   org.apache.maven.wagon.providers.file.FileWagon.resolveDestinationPath(FileWagon.java:206)     在   org.apache.maven.wagon.providers.file.FileWagon.resourceExists(FileWagon.java:265)     在   org.sonatype.aether.connector.wagon.WagonRepositoryConnector $ GetTask.run(WagonRepositoryConnector.java:577)     在   org.sonatype.aether.util.concurrency.RunnableErrorForwarder $ 1.run(RunnableErrorForwarder.java:60)     在   java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)     在   java.util.concurrent.ThreadPoolExecutor中的$ Worker.run(ThreadPoolExecutor.java:617)     在java.lang.Thread.run(Thread.java:745)引起:   java.lang.ClassNotFoundException:org.apache.commons.lang.StringUtils     在   org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)     在   org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:244)     在   org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:230)     ......还有7个

有人知道这个错误声明与war文件一起使用吗?

2 个答案:

答案 0 :(得分:0)

我没有足够的评论来评论,但我认为这将是一个有用的资源:https://spring.io/guides/gs/convert-jar-to-war/

使用Maven&#34;选择&#34;包装可执行jar和war文件链接。我希望这能指出你正确的方向。

答案 1 :(得分:0)

我为个人项目做了类似的事情。你需要做一些改变:

  1. 向pom添加一些依赖项:

    • groupId: org.springframework.boot
    • artifactId: spring-boot-starter-web
    • groupId: javax.servlet
    • artifactId: jstl
  2. 将包 jar 更改为 war <packaging>war</packaging>

  3. SpringBootServletInitializer您的&{39; SpringBootWebApplication&#39;延伸类。
  4. 创建以下文件夹结构以添加*.jsp文件:src/main/webapp/WEB-INF/jsp/
  5. /src/main/resources/static/文件夹中,您可以添加*.css个文件。
  6. application.properties 文件中添加以下内容:
    • spring.mvc.view.prefix: /WEB-INF/jsp/
    • spring.mvc.view.suffix: .jsp
  7. 我使用了以下参考文献: