나는 비슷한 것을 시도하고 보았지만 달성하려는 내용과 완벽하게 일치하는 것은 없습니다. 나는 현재 종속성을 가진 runnable jar를 성공적으로 빌드 할 수있다. 이것은 훌륭하다. 제가하고 싶은 것은 만들어지는 실행 가능한 병을 가지고있는 디렉토리에있는 다른 파일과 zip 파일로 저를 넣어 지금Maven을 사용하여 종속성이있는 실행 가능한 jar 파일을 만들고 다른 파일과 함께 압축합니다.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2.1</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>com.main.whatever</mainClass>
<addClasspath>true</addClasspath>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
: 내 POM의 관련 섹션이 있습니다. zip을 만들려고 시도하는 XML 어셈블리 파일을 가리키는 다른 설명자를 추가하려고 시도했지만 위 단계에서 생성되는 JAR 파일을 찾을 수없는 종속성 문제가 있습니다. 먼저 실행할 명령을 지정하는 방법을 알 수 없습니다. 나는 높고 낮은 것을 찾았고 그것을 할 수있는 가장 좋은 방법은 무엇인지 알아낼 수 없다. 여러 모듈, 다중 플러그인 호출, 의존성 설정 등에 관한 많은 해답이있다. 나는 모범 사례와 가장 단순한 접근법을 찾고 있습니다.
감사합니다.
편집 : 다음 단순히 조립
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>jar-with-dependencies</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>com.jasonwjones.hyperion.jessub.Jessub</mainClass>
<addClasspath>true</addClasspath>
</manifest>
</archive>
<!-- this creates a warning during the Maven package, which I don't
love -->
<appendAssemblyId>false</appendAssemblyId>
</configuration>
</execution>
<execution>
<id>dist</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptors>
<descriptor>src/main/assembly/dist.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
그리고 : 그래서 나는이 방법을 사용하여 내가 할 노력했다 달성 한 것으로 보인다
<assembly>
<id>dist</id>
<formats>
<format>zip</format>
</formats>
<files>
<file>
<source>target/${project.artifactId}-${project.version}.jar</source>
<!-- <source>target/${project.artifactId}-${project.version}-jar-with-dependencies.jar</source> -->
<outputDirectory>/</outputDirectory>
</file>
</files>
<fileSets>
<fileSet>
<directory>${project.basedir}</directory>
<includes>
<include>*.txt</include>
</includes>
<outputDirectory>/</outputDirectory>
</fileSet>
<fileSet>
<directory>${project.basedir}/src/main/resources</directory>
<includes>
<include>*</include>
</includes>
<outputDirectory>/</outputDirectory>
</fileSet>
어셈블리 XML의 내용을 추가 할 수 있습니까? 또한 플러그인 선언에서 assembly xml에 대한 참조가 누락되었습니다. 나는 네가 과거에하려고했던 일을 잘 해냈다. 위상 (패키지)도 올바르게 정의되어 있습니다. – CoolBeans
솔루션을 답으로 게시하고 오히려 편집하십시오. –
https://stackoverflow.com/questions/35217128/is-it-possible-to-build-a-java-project-only-once-using-eclipse-and-share/35359756#35359756 – Thanga