java - 尝试将我的 main/java 类文件编译为 .jar,然后也生成 .war

标签 java spring maven intellij-idea

我有一个使用 IntelliJ 构建的 Spring 应用程序 (MVC)。 我正在使用 Maven。

当我运行时,我的 pom.xml 文件当前会生成一个 war 文件:

mvn clean install

pom.xml:

 <packaging>war</packaging>

现在我想尽可能避免创建 2 个不同的解决方案。

我在/src/main/java 中的所有代码都有一个包名称:

com.myapp

我希望所有这些类都位于 com.myapp.jar 文件中。

此外,在 Maven 安装过程中,我希望它在创建 .war 文件时将此 com.myapp.jar 添加到/lib 路径,以便我可以部署到 tomcat/jetty。

有人可以准确地概述我必须做什么,我很困惑如何同时做这两件事。

目前我的 pom.xml 的构建部分如下所示:

<build>
       <plugins>
           <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-compiler-plugin</artifactId>
               <version>2.3.2</version>
               <configuration>
                   <source>${java-version}</source>
                   <target>${java-version}</target>
               </configuration>
           </plugin>
           <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-war-plugin</artifactId>
               <version>2.1.1</version>
               <configuration>
                   <warName>myapp</warName>
               </configuration>
           </plugin>
           <plugin>
               <groupId>org.codehaus.mojo</groupId>
               <artifactId>tomcat-maven-plugin</artifactId>
               <version>1.1</version>
           </plugin>
           <plugin>
               <groupId>org.mortbay.jetty</groupId>
               <artifactId>maven-jetty-plugin</artifactId>
               <version>6.1.26</version>
               <configuration>
                   <scanIntervalSeconds>10</scanIntervalSeconds>
                   <contextPath>/</contextPath>

               </configuration>

           </plugin>
       </plugins>
   </build>

最佳答案

这不是很清楚,但是如果你想归档你的类并将类放在WAR文件的lib目录中。如果这就是您正在查看的内容,下面的插件也会执行相同的操作:

 <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-war-plugin</artifactId>
      <version>2.1.1</version>
      <configuration>
          <archiveClasses>true</archiveClasses>
      </configuration>
 </plugin>

关于java - 尝试将我的 main/java 类文件编译为 .jar,然后也生成 .war,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9673609/

相关文章:

java - Tomcat 使用 Spring 和 Axis2 重新启动后,注入(inject)的 bean 为空

java - 英特尔lij : How to set project configuration to java 1. 8

java - 如果我将测试放在单独的模块中,如何在多模块 Maven 设置中运行单元测试?

java - TestNg:在使用 Maven 执行测试时获取 ArrayIndexOutOfBoundsException:0

java - 关于 Spring bean 容器中的作用域和垃圾回收

java - Mediaplayer 播放几次后停止播放

java - Oracle - 更新记录并在同一查询中返回更新日期

java - 难以捉摸的球类游戏项目

java - Spring Servlet 映射困惑

mysql - MyBatis Spring在Mysql上的事务,不回滚