Maven 2 Maven:在一个Jar中编译所有依赖项

Maven 2 Maven:在一个Jar中编译所有依赖项,maven-2,Maven 2,在项目的pom中,我添加了带有范围编译的依赖项。这是一个jar文件,它包含一些类文件和jar文件。我当前的java文件需要依赖jar的内部jar来编译 但是maven编译目标返回编译错误:刘海: 编译所需的所有jar都在单个jar文件中,该文件添加在依赖项中 请帮帮我 我的pom: <project> <!-- ... --> <dependencies> <dependency> <groupId>eagl

在项目的pom中,我添加了带有范围编译的依赖项。这是一个jar文件,它包含一些类文件和jar文件。我当前的java文件需要依赖jar的内部jar来编译

但是maven编译目标返回编译错误:刘海:

编译所需的所有jar都在单个jar文件中,该文件添加在依赖项中

请帮帮我

我的pom:

<project>
  <!-- ... -->
  <dependencies>
    <dependency>
      <groupId>eagle</groupId>
      <artifactId>zkui</artifactId>
      <version>360LTS</version>
      <type>jar</type>
      <scope>compile</scope>
    </dependency>
  </dependencies>
  <build>
    <sourceDirectory>./src/main/java</sourceDirectory>
    <outputDirectory>./target/classes</outputDirectory>
    <finalName>${project.groupId}-${project.artifactId}</finalName>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.2</version>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

鹰
兹库伊
360升
罐子
编写
./src/main/java
/目标/类别
${project.groupId}-${project.artifactId}
org.apache.maven.plugins
maven编译器插件
2.2
1.6
1.6
错误:

<project>
  <!-- ... -->
  <dependencies>
    <dependency>
      <groupId>eagle</groupId>
      <artifactId>zkui</artifactId>
      <version>360LTS</version>
      <type>jar</type>
      <scope>compile</scope>
    </dependency>
  </dependencies>
  <build>
    <sourceDirectory>./src/main/java</sourceDirectory>
    <outputDirectory>./target/classes</outputDirectory>
    <finalName>${project.groupId}-${project.artifactId}</finalName>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.2</version>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>
包org.zkoss.zk.ui不存在 这个包org.zkoss.zk.ui在jar中 依赖关系中的zkex.jar文件 jareagle:zkui:360LTS jar文件

请帮帮我!!!!:跳跃的喜悦:

提前谢谢

我想你可以

  • 用于将JAR解压缩到target/lib或其他位置(编译前)
  • 通过排除所有内容来停用

    <excludes>
        <exclude>**/*.java</exclude>
    </exclude>
    

但是,尽管这有助于您编译应用程序,但它不会帮助您运行或部署应用程序。

您可以使用元素来完成此操作:

<dependencies>
    <dependency>
      <groupId>groep.does.not.matter</groupId>
      <artifactId>neither-does-artifactId</artifactId>
      <version>and.nor-does-version</version>
      <type>jar</type>
      <scope>system</scope>
      <systemPath>${project.baseDir}/lib/jarname.jar</systemPath>
    </dependency>
  </dependencies>

格罗普无关紧要
artifactId也没有
和。也不知道
罐子
系统
${project.baseDir}/lib/jarname.jar

您需要引用(并且在类路径中)的jar是lib/jarname.jar,lib目录位于项目的根目录中

我认为您实际上没有使用正确的依赖项。ZK实际上有Maven存储库,如前所述

您需要检查需要哪些依赖项。例如,对于zkex,您需要以下内容:

    <dependency>
        <groupId>org.zkoss.zk</groupId>
        <artifactId>zkex</artifactId>
        <version>${zk.version}</version>
    </dependency>

org.zkoss.zk
zkex
${zk.version}
您还需要添加ZK Maven存储库:

    <repositories>
        <repository>
            <id>zk repository</id>
            <url>http://mavensync.zkoss.org/maven2</url>
        </repository>
        <!-- If Using ZK EE or ZK PE Respository (not evaluation version), you need to add login info into ~/.m2/settings.xml -->
        <repository>
            <id>ZK PE Evaluation</id>
            <url>http://mavensync.zkoss.org/zk/pe-eval</url>
        </repository>
        <repository>
            <id>ZK EE Evaluation</id> 
            <url>http://mavensync.zkoss.org/zk/ee-eval</url>
        </repository>
    </repositories>

zk存储库
http://mavensync.zkoss.org/maven2
ZK-PE评价
http://mavensync.zkoss.org/zk/pe-eval
ZK-EE评价
http://mavensync.zkoss.org/zk/ee-eval
祝你好运!:-)