【问题标题】:Eclipse Maven Build Is not Including Dependencies on Generated Jar FileEclipse Maven 构建不包括对生成的 Jar 文件的依赖关系
【发布时间】:2019-08-20 16:43:46
【问题描述】:

在使用 maven、eclipse 等编译方面,我不是一个非常有经验的 Java 用户...

我正在尝试构建一个带有一些 maven 依赖项的小项目,我的想法是将所有依赖项包含在 ganarated Jar 中。

这是我的 pom.xml 的内容:

<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>amgrd</groupId>
  <artifactId>testFlink</artifactId>
  <packaging>jar</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>testFlink</name>
  <description>testFlink</description>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <flink.version>0.10.0</flink.version>
    <jdk.version>1.8</jdk.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.apache.flink</groupId>
        <artifactId>flink-java</artifactId>
        <version>${flink.version}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.flink</groupId>
        <artifactId>flink-streaming-java</artifactId>
        <version>${flink.version}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.flink</groupId>
        <artifactId>flink-clients</artifactId>
        <version>${flink.version}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.flink</groupId>
        <artifactId>flink-connector-kafka_2.11</artifactId>
        <version>0.10.0</version>
    </dependency>
</dependencies>

<build>
    <sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>

            <configuration>
                <archive>
                    <manifestEntries>
                        <Main-Class>StreamingWordCount</Main-Class>
                    </manifestEntries>
                </archive>
          <descriptorRefs>
              <descriptorRef>jar-with-dependencies</descriptorRef>
          </descriptorRefs>
            </configuration>
        </plugin>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <source>${jdk.version}</source>
                <target>${jdk.version}</target>
            </configuration>
        </plugin>
    </plugins>
</build>
</project>

我将它分成三个部分来备注应该配置项目以在生成的文件中包含 jar 的 XML 片段。

然后我显示项目的上下文菜单并单击 Run as... -> Maven --> 然后键入目标“包”。

生成的jar不包含依赖,只有pom.xml、manifest和我的源码类。

提前谢谢你

【问题讨论】:

标签: java eclipse maven dependencies


【解决方案1】:

构建后,目标目录中应该有两个 jar。一个只包含你的类,一个包含所有类。后者有后缀jar-with-dependencies.jar

【讨论】:

  • 只有一个 JAR 文件,一个没有依赖关系的文件。但是现在有人帮助我更改了文件,并且现在生成了具有依赖关系的文件,当我弄清楚它现在工作的原因时,我将发布它们之间的区别。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-11-26
  • 2012-05-30
  • 2015-09-19
  • 1970-01-01
  • 2015-05-27
  • 2020-05-08
  • 1970-01-01
相关资源
最近更新 更多