错误的路径警告,它来自哪里?

逸斋:

当我使用编译器警告(JDK 1.5)来编译我的项目时,我收到很多错误的路径元素警告:

警告:: [路径]错误的路径元素“ C:\ Users \ User \ MyJava \ common \ lib \ junit.jar”:没有这样的文件或目录警告:: [路径]错误的路径元素“ C:\ Users \ User \ MyJava \ common \ lib \ jdom.jar“:没有这样的文件或目录警告:: [path]错误的路径元素” C:\ Users \ User \ MyJava \ common \ lib \ xerces.jar“:没有这样的文件或目录警告:: [路径]错误的路径元素“ C:\ Users \ User \ MyJava \ common \ lib \ xml-apis.jar”:没有这样的文件或目录

还有很多。

这使用的是IDEA 8.1.3。我在IDEA的配置中找不到任何地方(我将整个项目删掉了),没有任何东西指向这些文件。它们的确不在那个名字下出现,但是引用它们的是什么?

布伦特编写代码:

我认为@Yishai拥有此权利(我将给他投票以使球滚动)。我一直都遇到这个问题。我认为对于Java语言来说这是一个可怕的决定,他们认为允许类路径设置进入jar文件中的MANIFEST文件中是可以的。因此,从本质上讲,Jar可以在其中包含指向其他类的文件,以及位于其他位置的jar,当它们指向的其他内容不存在时,您会看到类似所收到警告的警告。这些警告是从编译类路径上的Jar文件发出的。因此,如果您真正关心的话,您需要做的是查找有问题的jar文件,提取jar文件的内容,删除清单文件中的“ Class-Path”设置,然后重新创建它们。

#Extract the jar file
jar xvf myfile.jar
rm myfile.jar
emacs ./META-INF/MANIFEST.MF

*Find the entry "Class-path:" and remove it completely and save the changes

#Rebuild the jar file
jar cvf myfile.jar ./*

这应该够了吧!

我不认为您只想隐藏这些消息,因为如果您想完全控制类路径上的内容,则应该搜索这些清单文件,并确保它们不会以您不喜欢的方式与类路径混淆知道关于。

可能您需要浏览大量的jar文件,因此我通常最终使用shell循环来帮助我浏览它们。您可以将所有相关的Jar都复制到一个临时目录中,然后运行如下循环(bash语法):

for i in *.jar; do echo $i; jar xf $i; grep -i 'class-path' ./META-INF/MANIFEST.MF; done

这将打印当前目录中每个Jar文件的名称,提取其内容,并为类路径条目grep其清单文件。如果输出中的jar文件的名称后面带有“ Class-Path”打印输出,则表示Jar在清单中具有类路径设置。这样,您就可以找出需要采取哪些操作的Jars。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

中止陷阱错误:6 - 它来自哪里?- 数独求解器

[L数组符号-它来自哪里?

它来自哪里:-*-编码:utf-8-*-

使它认识这种关系的错误在哪里?

这个错误信息来自哪里?

每日apt计时器/服务-它来自哪里?

服务器之间的流量很大-它来自哪里?

双routerlink,但不知道它来自哪里

我不知道它来自哪里的双倍空格

警告而不是来自assert_that()的错误?

避免来自ifelse()错误部分的警告

警告:错误消息返回路径(PHP)

在 Swift 中,从哪里不声明它符合错误?

golang html / template ExecuteTemplate错误字节来自哪里?

无法弄清楚我的路由错误来自哪里

“无效用户名”WooCommerce 错误消息来自哪里?

在哪里以及如何报告来自 Canonical 的 Gnome Snaps 的错误?

我的“不允许的参数::乘客”Rails 错误来自哪里?

这些错误和警告图标在哪里作为Java资源?

sklearn异常错误:tensorflow中来自GridSearchCV的fitfailed警告

抑制来自尚未构建的包含的警告而不抑制错误

在哪里获取update-java-alternatives命令。它来自什么包装?

简单的JApplet获取“ NoClassDefFoundError”,并且不知道它来自哪里

Ctrl + 向上/向下箭头在我的终端中产生输出(alacritty)。任何想法它来自哪里?

glcorearb.h 应该来自哪里,它应该位于 Windows 中的什么位置?

文件夹 /usr/lib/windows95 来自哪里,我该如何摆脱它?

在哪里放置 .glb 文件以及如何在 android 中获取它的路径?

Maven:警告无法使用环境中的“ javac”来自动检测“ javac”路径

我不知道语法错误在哪里,它说错误在python版本的名称上