maven- assembly-plugin 不添加与系统范围的依赖关系

2024-06-24

这是我的 pom 文件:

<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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.sia.g7</groupId>
  <artifactId>sia</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>sia</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.12</version>
     </dependency>
<dependency>
    <groupId>commons-math</groupId>
    <artifactId>commons-math</artifactId>
    <version>1.2</version>
</dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.8.1</version>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>jmathplot</groupId>
      <artifactId>jmathplot</artifactId>
      <version>1.0</version>
      <scope>system</scope>
      <systemPath>${project.basedir}/lib/jmathplot.jar</systemPath>
    </dependency>

    <dependency>
      <groupId>jgraphx</groupId>
      <artifactId>jgraphx</artifactId>
      <version>1.0</version>
      <scope>system</scope>
      <systemPath>${project.basedir}/lib/jgraphx.jar</systemPath>
    </dependency>

  </dependencies>
<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>2.0.2</version>
      <configuration>
        <source>1.6</source>
        <target>1.6</target>
      </configuration>
    </plugin>
    <plugin>
      <artifactId>maven-assembly-plugin</artifactId>
      <configuration>
        <descriptorRefs>
          <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
        <appendAssemblyId>false</appendAssemblyId>
        <archive>
          <manifest>
            <mainClass>com.sia.g7.AbstractSimulation</mainClass>
          </manifest>
        </archive>
      </configuration>

    </plugin>
  </plugins>

</build>
</project>

当我运行 jar 时,我得到:

Exception in thread "main" java.lang.NoClassDefFoundError: com/mxgraph/swing/mxGraphComponent

这是jgraphx依赖性。 我缺少什么?


您可以通过将此 dependencySet 添加到程序集文件描述符来做到这一点

<dependencySet>
    <outputDirectory>/</outputDirectory>
    <unpack>true</unpack>
    <scope>system</scope>
</dependencySet>

此程序集描述符添加所有依赖项,包括系统范围的依赖项

<assembly
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
<id>jar-with-all-dependencies</id>
<formats>
    <format>jar</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<dependencySets>
    <dependencySet>
        <outputDirectory>/</outputDirectory>
        <useProjectArtifact>true</useProjectArtifact>
        <unpack>true</unpack>
        <scope>runtime</scope>
    </dependencySet>
    <dependencySet>
        <outputDirectory>/</outputDirectory>
        <unpack>true</unpack>
        <scope>system</scope>
    </dependencySet>
</dependencySets>

 </assembly>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

maven- assembly-plugin 不添加与系统范围的依赖关系 的相关文章

随机推荐

  • 在 WordPress 中的每个帖子后插入代码

    我想在 WordPress 的每篇文章后面插入一些代码 我知道你可以在这之后插入一些代码 例如在 single php 中 但是 如果我这样做 它就会把它放在错误的地方 这里有一个示例帖子 http www hardwareblog com
  • IntersectionObserver.observe不是对象,如何使用IntersectionObserver

    我正在使用 css 位置 粘性创建一个带有粘性列的表格 当列 卡住 时 我想以不同的方式设置它们的样式 我的第一个项目涉及当第二列部分滑过第一列或 wdtscroll td nth child 1 时设计第一列或 wdtscroll td
  • 带有note属性的字符串可以修改吗

    有没有什么方法可以修改字符串而不丢失它所具有的任何注释属性 t something Add Member noteproperty one 1 PassThru t one 1 t else t one
  • 如何将 defaultdict(list) 转换为 Pandas DataFrame

    我有一个具有以下结构的 defaultdict list 对象 id list list 例如 a1 0 01 cat a2 0 09 cat a3 0 5 dog 我想转换这个defaultdict list into a Pandas
  • 在自定义 ListView 中获取 NullPointerException

    当我运行我的应用程序时 我收到这样的错误 02 27 22 59 19 331 E AndroidRuntime 2060 FATAL EXCEPTION main 02 27 22 59 19 331 E AndroidRuntime 2
  • 使用 python 与 Popen 运行 shell 脚本在 python 命令行和实际程序中的行为不同

    我有一个 shell 脚本 我想从 python 程序调用它 但与以下代码根本不起作用 Popen 已导入 bf dir home wireless bf path os path join bf dir airdispatch sh sh
  • 如何隐藏 Neo4j 中节点之间不需要的关系

    我是 Neo4j 的新手 我有一个奇怪的要求 我有一些节点 CREATE a node title 1 CREATE b node title 2 CREATE c node title 3 CREATE d node title 4 以及
  • Selenium IDE 中的条件检查

    我想检查是否使用硒填充了可能的必填字段 我非常愿意使用 IDE 来完成此操作 而不是导出到代码 更具体地说 如果国家 地区下拉列表的值为 英国 我想确保填写邮政编码字段 如果下拉列表设置为其他任何内容 则邮政编码字段可以留空 如果共识是我必
  • 如何根据 Oracle 中的动态列表检查 IN 条件?

    编辑 更改标题以适合下面的代码 我试图从 Oracle 表中检索可接受值的列表 然后对另一个表执行 SELECT 同时将某些字段与所述列表进行比较 我试图用光标来做到这一点 如下所示 但是失败了 DECLARE TYPE gcur IS R
  • gcc可以针对不同CPU进行交叉编译吗?

    安装在 fedora 16 上的 gcc 是否可以针对不同的 CPU 比如 SPARC 进行交叉编译 我已经有了一定的认识 如有错误 还需要专家指正 不同的操作系统的不同之处在于它们用于访问内核的系统调用 或者完全在于它们使用的内核 它是否
  • 使用 argparse 和 python 接受字典作为参数[重复]

    这个问题在这里已经有答案了 我试图用 argparse 接受 type dict 的参数 但无论输入如何 它都会给出无效 dict 值的错误 usr bin env python import argparse MYDICT key val
  • 如何在 Azure 上的 MVC 应用程序中托管和嵌入视频?

    我创建了一个基本应用程序并上传到 Azure 我想嵌入视频 以便用户可以从列表中进行选择并查看每个视频 例如 选择一部电影并观看其预告片 我在 MVC 解决方案中创建了两个文件夹 Posters 包含用作每个视频背景的 jpg 文件 Vid
  • 具有 2 个队列的 Spring AMQP 项目

    我正在开发一个涉及 2 个队列和多个与它们交互的侦听器的项目 流动 新的 HTTP 请求到达服务器 然后将其转换为一个对象 该对象将成为消息 该消息必须在两个队列中发布 我有两种类型的侦听器 它们从每个队列获取消息 然后我做任何我想做的事情
  • 如何防止不同浏览器渲染字体不同?

    我在尝试在所有浏览器中保持一致的字体样式时遇到问题 如下所示 safari的字体渲染系统使字体粗细比chrome的字体粗细小 Safari Chrome 我尝试使用在其他问题上找到的解决方案 尽管他们没有解决这个问题 如何在所有主要浏览器中
  • 获取对组件树上某种类型的所有指令的引用

    我有一个复杂的场景 需要帮助 我有一个指令 称为TagDirective 它被放置在我的应用程序中的多个元素上 我有另一个指令 QueryDirective 需要引用的所有实例TagDirective存在于其宿主元素以及层次结构中其上方的所
  • 适用于 Windows 的 D-Bus 等效项

    有人知道 Windows 的 Linux D Bus 机制吗 Thanks 选择你的毒药 http msdn microsoft com en us library aa365574 28VS 85 29 aspx http msdn mi
  • Selenium IDE - 如何处理 java 脚本警报和确认

    我是自动化测试的新手 并开始使用 Selenium IDE 作为自动化的选择 我只是想知道是否有任何方法可以使用 IDE 处理 java 脚本警报 举一个场景 我单击 删除 按钮 出现一个带有 确定 和 取消 选项的 java 脚本警告框
  • 猜谜游戏 python 二分查找

    我无法弄清楚我的代码有什么问题 我试图让用户想到 1 到 100 之间的数字 然后这个程序就能猜到它 该程序将范围的高数和低数相加 然后除以二 并将其用作猜测值 如果程序猜测的数字大于用户的数字 则用户输入 1 如果小于 则输入 1 如果猜
  • HTTPS:Laravel 使用 .htaccess (public/)

    我试图在我的 Laravel 项目中包含 https 而不使用 godaddy 仅使用htaccess没什么大不了的 因为我正在使用proxypass来自我的 SSL 认证网站 该网站将传递到我的 laravel 项目 我只需要把我的 la
  • maven- assembly-plugin 不添加与系统范围的依赖关系

    这是我的 pom 文件