多module普通maven项目,怎么打包为一个可执行jar 5C

将项目打包为一个可执行jar(包含依赖)文件的时候,阅读了网上的很多文章,发现还是不行。

项目结构

图片说明

说明: 非spring/srping boot项目。 模块依赖关系 main->http->sdk->core

4个回答

执行父类的package命令即可

qq_36598097
朽木℃ 这样不会把依赖打包进入jar,而且会在每个module下分别生成一个jar文件
2 年多之前 回复

直接在 parent 那里 使用 maven build 里面。 base directory: 选择pareant goals:clean compile install

qq_36598097
朽木℃ emmm,要把maven依赖和项目源码一起打包进入一个jar,最后可以 java -jar XXX.jar 执行的哦?不需要插件那些?
2 年多之前 回复

先在项目主pom文件的


maven-assembly-plugin


jar-with-dependencies



com.XXX.XXX <!--程序的入口类-->




然后在主目录执行 mvn assembly:assembly,执行完之后,可以在target目录里面看到 XXX-with-dependenceis.jar包,这个jar包就是可执行的jar包了

不好意思,上面的回答,代码部分有问题,再来一发。

先在项目主pom文件中添加以下插件

 <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
          </descriptorRefs>
          <archive>
            <manifest>
              <mainClass>com.XXX.XXX</mainClass>
            </manifest>
          </archive>
        </configuration>
      </plugin>

然后在主目录执行 mvn assembly:assembly,执行完之后,可以在target目录里面看到 XXX-with-dependenceis.jar包,这个jar包就是可执行的jar包了

Promise2017
Promise2017 回复qq_36598097: 请问下现在解决了吗?我现在也遇到这个问题
大约 2 年之前 回复
qq_36598097
朽木℃ 谢谢你的回复,提问之前我看其他文章这样试过,刚刚又试了一遍。这样会在每个子模块下面分别生成一个target目录,下面当然也有对于子模块的jar包。最关键的是,父目录的target下面的jar,并不能运行。大神有试过这个么
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐