问题标签 [jdeps]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
985 浏览

java - 找不到 jdeps 命令 (Mac)

我在我的 Mac 上使用 Java 8 update 45。我尝试使用“jdeps”命令,但我的 mac 一直显示“找不到命令”消息。奇怪的是 bin 文件夹中的其他命令(如“java”、“javac”)完美运行。只有“jdeps”命令不起作用。

如何使用 jdeps 命令?使用这个命令有什么条件吗?

0 投票
2 回答
2325 浏览

java - 如何在 pom.xml 上运行 maven-jdeps-plugin?

在我的pom.xml我添加了 maven-jdeps-plugin:

但是当我使用 JDK 8 和 maven 3.3.3 运行它时,jdeps 插件不做任何检查

额外信息:

0 投票
0 回答
42 浏览

java - 为多个同名 JAR 执行 jdeps 时,是否有命令行选项可以重命名 dotoutput 文件?

我使用下面的命令在整个目录中运行 jdeps。但是,如果有多个同名的 JAR,它似乎会覆盖点输出文件。

0 投票
1 回答
1030 浏览

java - 使用 -jdkinternals 时 jdeps 没有输出

我正在尝试使用Java 依赖分析工具 (jdeps)。首先,我尝试在没有这样的参数的情况下做到这一点:

它列出了它使用的依赖项。到目前为止,一切都很好。

但是,使用的最大原因jdeps是检测对在 Java 9 中无法访问的包(例如sun.*包)的依赖关系。所以我尝试使用-jdkinternals检查这些不兼容性的标志。因此我的命令是:

但是,当我运行它时没有输出。这是否意味着它无法运行?我错过了什么?

0 投票
3 回答
505 浏览

java - 等效于 Java 7 的 jdeps

我需要分析.classjar 中的不同文件使用(引用)了哪些类。我知道

产生这个输出。不幸的是,如果用户只有 JDK 1.7,我需要一个可行的解决方案。这怎么可能实现?

0 投票
1 回答
553 浏览

java - 查找 Java 类的所有传递依赖项,包括仅通过其接口使用的实现类

我的目标是列出我项目的公共 API 类的所有传递依赖项,并使用它来集中测试工作,以防对这些依赖项进行任何代码更改。

例如:

因此,如果我知道 MyDaoImpl 已被修改(比如从提交历史记录中)并且我知道 MyApi.methodA 使用 MyDaoImpl,那么我的测试应该专注于检查它。我需要 MyApi.methodA() 的依赖项列表,包括 MyDao 和 MyDaoImpl。

到目前为止,我已经尝试了两种工具 - https://docs.oracle.com/javase/8/docs/technotes/tools/unix/jdeps.htmlhttp://depfind.sourceforge.net/ - 他们很有希望,但似乎不能完全解决问题。对于这两种工具来说,如果一个类依赖于一个接口,似乎没有内置方法将该接口的实现包含为传递依赖项。

有没有办法从任何工具中提取这些信息而无需大量定制?

0 投票
2 回答
1488 浏览

java - 创建专用于特定模块化应用程序的自定义运行时映像

假设我正在开发一个由 2 个模块组成的模块化应用程序:com.spacey.explorer这取决于com.spacey.rocket模块。我在某个bin目录中有他们的模块化 JAR 文件。

我想准备轻量级 JRE 来运行它。很明显,我使用了jlink工具:

现在,当我在 JRE 中列出模块时,我得到以下信息:

也就是说,我的应用程序模块被捆绑到 JRE 中。但是,如果我想构建一个仅包含 JDK 起源的模块的 JRE,这些模块足以运行我的应用程序并将我的应用程序模块分开,我必须知道我的 JDK 依赖项是什么(在示例中这只是java.base)并明确指定它们喜欢:

有什么方法可以让jlink为我做这件事吗?或者任何可以为我找出那些源自 JDK 的依赖项的工具?

0 投票
3 回答
4981 浏览

java - 错误:log4j-api-2.9.0.jar 是多版本 jar 文件,但未设置 --multi-release 选项

使用以下最小值探索maven-jdeps-plugin:3.1.0Java9 pom.xml:-

执行时

我最终得到一个详细的错误,内容如下: -

在 Maven 官方网站上详述的任何一个目标中,甚至在Oracle 帮助中心记录的工具中,我都找不到与--multi-release标志相关的太多相关性。jdeps:jdkinternalsjdeps

有人可以对这个实现有所了解maven-jdeps-plugin吗?有没有办法解决这个问题(设置--multi-release选项)?

0 投票
1 回答
742 浏览

java - 错误:未知选项:-M 使用 maven-jdeps-plugin 的模块选项时

module在官方文档中找到了该属性,maven-jdeps-plugin其中指出

显示包含包的模块

  • 类型:布尔值
  • 自:JDK 1.9.0
  • 要求:否
  • 用户属性:jdeps.module
  • 默认值:假

尝试以当前的最小值使用它,pom.xml如下所示:-

我的项目(名为sparkjdk9)在执行时的构建

结果到这些日志中:-

进一步寻找jdeps工具中的类似标志,我可以看到错误是合理的,因为它的使用中没有这样的标志-M

Q. 这个属性有什么用,怎么用?

0 投票
0 回答
308 浏览

java-9 - Java 9 - 如何使用模块信息重新编译 .jar 库

我读到将 .jar 库作为依赖项添加到 java9 模块中,我们只需要将它们包含在 --module-path 中,它们将被转换为“Atomatic Modules”

但是,当我尝试使用 jLink 时,仍然出现错误:错误:找不到 dd.plist 模块的 module-info.class

我意识到我们可以使用 jdeps 生成 module-info.java,我的问题是如何使用这个 module-info.java 重新编译 .jar 库?