我在eclipse中找到了有用的工具来执行此操作,例如ClasspathHelper,但是在intellijidea中是否有任何插件或方法可以找到未使用的jar文件? 最佳答案 我确定您知道如何使用IDEA依赖关系分析工具来查找库依赖关系,虽然这可以帮助您找到一些方法,但这当然是不够的。问题和事实是,没有办法通过静态分析找到未使用的JAR,因为现在可以通过反射/IoC/诸如此类的方式引用和创建任何依赖项中的任何类。因此,您可以“希望”得到的最好的工具是可以判断哪些JAR未被您的代码明确引用的工具-奇怪的是,据我所知,IDEA中没有这
假设我们有一个Java应用程序,而不是一个库,它可以通过Maven中心获取。例如,一个这样的项目是jol,它有相应的CLI界面inMavencentral.据我所知,与库的主要区别在于相应的JAR文件包含一个类,该类具有适当的main()方法和一个可选的相关Main-类:JARlist中的header。如果这样的Artifact被用作项目的依赖项,Maven会很乐意将JAR文件连同其依赖项下载到本地存储库,就像它对任何其他Artifact所做的那样。是否可以使用Maven直接执行这样的应用程序,而无需设置Maven项目?exec:javaplugin通过设置JVM类路径以便依赖项可用,
我有一个配置了yml文件的spring-boot应用程序。执行jar时是否可以覆盖这些属性?例如,假设我将yml文件中的输入变量设置为user1,并且我想用user2执行jar。有可能做这样的事情吗?java-jar--input=user2 最佳答案 详细说明answerbycLyric,你可以这样做:java-jaryourapp.jar--input=user2或者如果你想提供使用json,你可以这样做java-jaryourapp.jar--spring.application.json='{"input":"user2"}
如果我创建一个keystore并使用以下命令签署一个jar:keytool-genkey-aliasmyalias-keyalgRSA-validity365-keystorekeys/my.keystorejarsigner-verbose-keystorekeys/my.keystore-signedjarmy_signed.jarmy_unsigned.jarmyalias然后我会生成一个有效期为365天的证书。365天后jar文件会发生什么变化?它还可以运行吗?当他使用“jarsignerverify”时,有人还能得到它的签名者吗?如何更新证书? 最
我试图让我的应用程序与Java9一起运行,但不幸的是,当它尝试使用classLoader.getResource(name)加载资源时,一个普通的jar依赖项却得到了一个空值。这当然适用于Java8。我使用模块文件声明了对相关模块的依赖,通过jar名称引用模块的名称(糟糕),并使用--module-path选项按原样添加jar(Java9没有自定义).这是我大概的模块文件声明:modulemy.mod{requiresivy;//thefileiscalledivy-2.4.0.jar}然后我用这个命令运行:java--module-pathmy-mod.jar:ivy-2.4.0.j
我开发了一个JavaSwing应用程序,它使用SwingWorker类来执行一些长时间运行的任务。当应用程序从IDE(Netbeans)运行时,我可以毫无问题地同时启动多个长时间运行的任务。我为应用程序创建了一个可运行的jar文件,以便能够从IDE外部运行它。从这个jar文件运行的应用程序运行良好,唯一的异常(exception)是它不允许我同时启动2个长时间运行的任务。任务只是一个接一个地运行。我设法创建了一个非常简单的程序来演示这个问题。link该程序使用一个swingworker,它只是从1循环到100,并将数字写入控制台。这两个按钮启动两个执行相同操作的线程。如果我在netbe
我想将一个文件放到我的jar上,并将文件名作为参数传递给我的主要方法。我在OSX上。我该怎么做? 最佳答案 如果应用程序。使用JavaWebStart部署,可以声明文件关联。双击该类型的任何文件,文件的路径将提供给main(String[])。顺便说一句-这是一个demo.oftheJNLPfileAPI.请注意第二个错误报告,这意味着最低版本为1.6.0_10+,以免删除放在应用程序图标上的文件。 关于java-将文件拖放到.jar并将文件名传递给main(),我们在StackOver
我正在尝试查找我的tomcat环境中的配置问题。我们的生产服务器正在运行tomcat安装并从共享的NFS挂载中读取war。但是,当我尝试用一个独立的盒子(使用他们的配置)进行同样的war时,我收到下面发布的错误。有趣的是,如果我将WEB-INF/lib中的所有jar解压到WEB-INF/classes中,这个错误就会消失。所以,似乎有什么东西阻止了应用程序加载WEB-INF/lib路径,但我终究找不到任何会导致这种情况的tomcat设置,因为它正在检测应用程序和配置,只是不包括在内。有什么想法吗?SEVERE:Errorconfiguringapplicationlistenero
我已经下载了LiferayPortal6.1与tomcat捆绑在一起的社区版。然后我下载了liferay的SDK。按照此site中给出的步骤进行操作当我到达第4步时使用liferay配置eclipse,我收到以下错误。所有相关threads特定于ubuntu。但我使用的是windows764位。我不知道如何解决这个问题。所有文件都存在,那么为什么它向我显示此错误。任何帮助将不胜感激。 最佳答案 您似乎正在尝试创建Liferayv6.0TomcatRuntime,然后将目录指向Liferayv6.1Tomcat运行时(注意安装路径中的
我想使用gradle从WAR的内容创建一个jar。我想要的结果很像archiveClasses=truesettingofmaven-war-plugin我知道gradlewar插件似乎没有这样做(根据thisstackoverflowquestion)。有没有办法手动执行此操作?比如说通过操作gradlejar任务从WEB-INF文件夹中收集所需的部分?当我只使用默认的jar任务时,它不会从WEB-INF目录中获取资源。我想这样做的原因是因为我已经模块化了一个WAR并且模块依赖于WAR中的公共(public)资源(在我的例子中是FreeMarker文件)。我希望能够根据从WAR创建的