나는 내 클래스 종속성을 포함하는 Maven POM.xml
파일을 가지고있다. 명령 사용 mvn clean compile assembly:single
모든 종속성을 가진 fat 실행 가능 jar 파일을 만들 수 있습니다. 이제 POM.xml
에 종속성을 포함하여 실행 불가능한 항아리를 만들 수 있고 코드 또는 클래스가 포함되어 있지 않은지 궁금합니다.종속성을 포함하여 maven jar 패키지를 만드는 방법
<?xml version="1.0" encoding="UTF-8"?>
<project 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/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>Saprk</groupId>
<artifactId>SparkPMUProcessing</artifactId>
<version>1.0-SNAPSHOT</version>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>SparkStreaming</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.11</artifactId>
<version>2.2.0</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-streaming_2.11</artifactId>
<version>2.2.0</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-streaming-kafka-0-10_2.11</artifactId>
<version>2.2.0</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>2.7.3</version>
</dependency>
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka_2.11</artifactId>
<version>0.10.0.0</version>
</dependency>
</dependencies>
</project>
그래서 클래스 권한을 제외한 pom.xml의 모든 종속성을 포함하는 단일 jar를 시도하십시오 –
@ArvindKatte 바로 그렇습니다! – soheil
'/path of jars '이 태그를 사용하여'pom.xml'에서 jar 파일을 제외 할 수 있습니다. –