草庐IT

java - 我们如何在intellij idea项目中找到孤立的 jar

我在eclipse中找到了有用的工具来执行此操作,例如ClasspathHelper,但是在intellijidea中是否有任何插件或方法可以找到未使用的jar文件? 最佳答案 我确定您知道如何使用IDEA依赖关系分析工具来查找库依赖关系,虽然这可以帮助您找到一些方法,但这当然是不够的。问题和事实是,没有办法通过静态分析找到未使用的JAR,因为现在可以通过反射/IoC/诸如此类的方式引用和创建任何依赖项中的任何类。因此,您可以“希望”得到的最好的工具是可以判断哪些JAR未被您的代码明确引用的工具-奇怪的是,据我所知,IDEA中没有这

java - 直接从 Maven 存储库执行 JAR 文件

假设我们有一个Java应用程序,而不是一个库,它可以通过Maven中心获取。例如,一个这样的项目是jol,它有相应的CLI界面inMavencentral.据我所知,与库的主要区别在于相应的JAR文件包含一个类,该类具有适当的main()方法和一个可选的相关Main-类:JARlist中的header。如果这样的Artifact被用作项目的依赖项,Maven会很乐意将JAR文件连同其依赖项下载到本地存储库,就像它对任何其他Artifact所做的那样。是否可以使用Maven直接执行这样的应用程序,而无需设置Maven项目?exec:javaplugin通过设置JVM类路径以便依赖项可用,

java - 使用可运行的 jar 文件执行时如何解决多线程的 Java 问题?

我开发了一个JavaSwing应用程序,它使用SwingWorker类来执行一些长时间运行的任务。当应用程序从IDE(Netbeans)运行时,我可以毫无问题地同时启动多个长时间运行的任务。我为应用程序创建了一个可运行的jar文件,以便能够从IDE外部运行它。从这个jar文件运行的应用程序运行良好,唯一的异常(exception)是它不允许我同时启动2个长时间运行的任务。任务只是一个接一个地运行。我设法创建了一个非常简单的程序来演示这个问题。link该程序使用一个swingworker,它只是从1循环到100,并将数字写入控制台。这两个按钮启动两个执行相同操作的线程。如果我在netbe

java - 将文件拖放到 .jar 并将文件名传递给 main()

我想将一个文件放到我的jar上,并将文件名作为参数传递给我的主要方法。我在OSX上。我该怎么做? 最佳答案 如果应用程序。使用JavaWebStart部署,可以声明文件关联。双击该类型的任何文件,文件的路径将提供给main(String[])。顺便说一句-这是一个demo.oftheJNLPfileAPI.请注意第二个错误报告,这意味着最低版本为1.6.0_10+,以免删除放在应用程序图标上的文件。 关于java-将文件拖放到.jar并将文件名传递给main(),我们在StackOver

java - Tomcat 6 不从 WEB-INF/lib 加载 jar

我正在尝试查找我的tomcat环境中的配置问题。我们的生产服务器正在运行tomcat安装并从共享的NFS挂载中读取war。但是,当我尝试用一​​个独立的盒子(使用他们的配置)进行同样的war时,我收到下面发布的错误。有趣的是,如果我将WEB-INF/lib中的所有jar解压到WEB-INF/classes中,这个错误就会消失。所以,似乎有什么东西阻止了应用程序加载WEB-INF/lib路径,但我终究找不到任何会导致这种情况的tomcat设置,因为它正在检测应用程序和配置,只是不包括在内。有什么想法吗?SEVERE:Errorconfiguringapplicationlistenero

java - Tomcat 安装目录无效。它缺少预期的文件或文件夹 lib/jasper-el.jar

我已经下载了LiferayPortal6.1与tomcat捆绑在一起的社区版。然后我下载了liferay的SDK。按照此site中给出的步骤进行操作当我到达第4步时使用liferay配置eclipse,我收到以下错误。所有相关threads特定于ubuntu。但我使用的是windows764位。我不知道如何解决这个问题。所有文件都存在,那么为什么它向我显示此错误。任何帮助将不胜感激。 最佳答案 您似乎正在尝试创建Liferayv6.0TomcatRuntime,然后将目录指向Liferayv6.1Tomcat运行时(注意安装路径中的

java - 使用 Gradle 从 webapp 创建一个包含类和资源的 JAR

我想使用gradle从WAR的内容创建一个jar。我想要的结果很像archiveClasses=truesettingofmaven-war-plugin我知道gradlewar插件似乎没有这样做(根据thisstackoverflowquestion)。有没有办法手动执行此操作?比如说通过操作gradlejar任务从WEB-INF文件夹中收集所需的部分?当我只使用默认的jar任务时,它不会从WEB-INF目录中获取资源。我想这样做的原因是因为我已经模块化了一个WAR并且模块依赖于WAR中的公共(public)资源(在我的例子中是FreeMarker文件)。我希望能够根据从WAR创建的

java - 如何将多个 jar 添加到模块路径?

我遇到了以下情况:模块地址:moduleorg.abondar.experimental.address{exportsorg.abondar.experimental.address;}模块人:moduleorg.abondar.experimental.person{requiresorg.abondar.experimental.address;exportsorg.abondar.experimental.person;}我正在使用Maven构建它们,因此每个模块都有自己的目标目录和jar文件。我正在尝试运行具有这样主类的模块Personjava--module-pathAdd

java - 如何为 Maven 构建的可执行 JAR 指定 JVM 参数

使用Maven构建可执行JAR时,如何指定执行JAR时使用的JVM参数?我可以使用指定主类.我怀疑JVM参数有一个类似的属性。特别是我需要指定最大内存(例如-Xmx500m)。这是我的程序集插件:maven-assembly-pluginjar-with-dependenciestruecom.me.myApplication编辑/跟进:根据this,似乎无法为可执行JAR指定JVM参数。和this发布。 最佳答案 我不知道有任何这样的机制。JVM配置由调用java命令指定。这是jar文件规范,它明显没有提到除Main-Class之

java - Ivy:在本地解析和发布 JAR

我们已经使用Ivy几个月了,并且在办公室的Web服务器上拥有我们自己托管的“IvyRepo”。我们所有的项目都配置为转到此repo以解决依赖关系。我们有几个“通用”类型的JAR,供我们的许多项目使用。正因为如此,并且因为我们只有1个repo协议(protocol),我们发现来自以下场景的大量丑陋开销:开发人员的任务是向项目1添加功能(依赖于Commonjar)在开发项目1的过程中,开发人员意识到他/她需要对Commonjar进行更改进行了常见的jar更改普通jar都要经过codereview和正常的codepromotionBuildmaster发布新的Commonjar既然Commo