用assembly打包后没有class文件

BladeSystem_Matrix 2018-11-07 06:01:35
pom.xml
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4.1</version>
<configuration>
<!-- not append assembly id in release file name -->
<appendAssemblyId>false</appendAssemblyId>
<descriptors>
<descriptor>src/main/assemble/package.xml</descriptor>
</descriptors>
</configuration> <executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>


package.xml
<assembly xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/assembly-1.0.0.xsd">
<id>package</id>
<formats>
<format>jar</format>
</formats>
<includeBaseDirectory>true</includeBaseDirectory>
<fileSets>
<fileSet>
<directory>src/main/java</directory>
<outputDirectory>/</outputDirectory>
</fileSet>
<fileSet>
<directory>src/main/resources</directory>
<outputDirectory>resources</outputDirectory>
</fileSet>
</fileSets>
<dependencySets>
<dependencySet>
<outputDirectory>lib</outputDirectory>
<scope>runtime</scope>
</dependencySet>
</dependencySets>
</assembly>


可以正常打包,但是执行java -cp时报 找不到或无法加载主类 我反编译进去看了下 结构目录下我只找到了相关依赖的jar包和我自己的代码,但是这些代码都是.java,没有.class,请问下这是哪有问题 还是打包过后就这样


...全文
323 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打开下面链接,直接免费下载资源: https://renmaiwang.cn/s/nw9pz 在Java开发中,Maven是一个常用的项目管理工具,它负责项目的构建、依赖管理等任务。当开发的项目需要打包成JAR文件并分发给其他项目使用时,通常需要将项目依赖的其他JAR包一同打包进去,这就涉及到如何将POM文件中定义的依赖一起打包成一个独立的第三方JAR包。本文将介绍如何利用Maven的相关插件和配置来完成这一过程。打包成第三方JAR包且包含依赖的方法通常用到的是Maven Assembly插件,它能够帮助我们把所有依赖的JAR包以及主程序一起打包成一个单独的可执行的超级JAR文件。要完成这个过程,需要以下步骤:1. 在项目的POM文件中添加maven-assembly-plugin插件的配置。这个插件可以通过自定义一个装配描述文件来定义如何打包JAR文件。装配描述文件一般是一个XML文件,用于详细说明要打包的JAR文件的结构。2. 添加装配描述文件的引用到POM文件中的build配置部分。这个装配描述文件通常命名为jar-with-dependencies.xml,并包含一些配置项如主类的设置,以及需要包含的依赖。3. 执行打包命令mvn assembly:assembly,这条命令会触发Maven执行assembly插件的指定目标,根据配置打包出一个包含所有依赖的超级JAR文件打包成功后,可以在target目录下找到一个以-jar-with-dependencies结尾的JAR包。4. 如果不希望将依赖的JAR包包含进去,而只希望包含依赖的CLASS文件,可以通过修改装配描述文件来实现。在装配描述文件中,可以设置标签为FALSE,这样依赖包就不会被解压,而是作为CLASS文件打包。此外,为了进一步控制打包过程,还可以使用maven-jar-plugin

51,410

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧