对于我目前的目的,我有一个Maven项目,它创建了一个war
文件,我想看看它在创建war
时使用了什么实际的类路径。有没有办法在一个命令中做到这一点——而不必编译整个项目?
一个想法是让Maven生成目标/classpath.properties文件,然后停止。
或者叫“mvn-e-X….”然后检查输出。。。
此命令输出Mac和Linux上的类路径:
mvn -q exec:exec -Dexec.executable=echo -Dexec.args="%classpath"
例如,当将结果分配给Bash脚本中的变量时,打印结果而不保存到文件中可能会很有用。此解决方案仅在Mac和Linux上运行,Bash shell脚本也是如此。
在Windows中(例如,在BAT文件中),如果没有echo
可执行文件,则需要这样的内容(未经测试):
mvn -q exec:exec -Dexec.executable=cmd -Dexec.args="/c echo %classpath"
或者,您可以使用类路径执行java
程序:
mvn -q exec:exec -Dexec.executable=java -Dexec.args="-cp %classpath Main"
或者甚至像这样(它会自动使用正确的类路径):
mvn -q exec:java -Dexec.mainClass="Main"
然而,当程序失败时,这两种替代方法都会遇到Maven添加错误消息的问题。
要在文件中单独获取类路径,可以:
mvn dependency:build-classpath -Dmdep.outputFile=cp.txt
或者将其添加到POM. XML中:
<project>
[...]
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.9</version>
<executions>
<execution>
<id>build-classpath</id>
<phase>generate-sources</phase>
<goals>
<goal>build-classpath</goal>
</goals>
<configuration>
<!-- configure the plugin here -->
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
[...]
</project>
发件人:http://maven.apache.org/plugins/maven-dependency-plugin/usage.html
为了在命令行上运行TestNG测试,我必须在类路径中设置TestNG。为了做到这一点,我经历了- 无法通过命令行执行TestNG套件文件
问题内容: 在执行程序期间,我需要使用其他jar。我手动将罐子添加到相对的./lib文件夹中,然后执行程序。如何在清单文件中定义类路径? 问题答案: 您不能在清单的属性中使用正则表达式或其他通配符。 Java中仅支持一种通配符,并且仅当在命令行上在“手动” 调用(即,不使用)上指定时,该通配符才能使用:usingdirectoryname/*。
如果目录已经存在,则通过rdd.saveAsPickleFile(输出路径)写入文件失败。虽然这是避免意外删除文件的一件好事,但我想知道是否有明确覆盖文件夹/文件的选项?与数据帧类似: df.write.mode('overwrite')。format('json')。save(输出路径) 注:以下两个问题在这里和这里曾经问过,但没有得到明确的答案。
问题内容: 有人可以给我一些在函数中使用输出参数的示例代码吗?我尝试过使用Google,但只是在功能中发现了它。我想在另一个函数中使用此输出值。 我正在开发的代码打算在Android中运行。 问题答案: Java通过值传递;没有像C#这样的参数。 您可以使用,或更改 作为 参考传递的对象( 按 值)。 代码样例 至于OP需要帮助的代码,以下是使用特殊值(通常用于引用类型)指示成功/失败的典型解决方
问题内容: 因此,我可以很好地做到这一点: 如果存在。我也可以高兴地做到这一点: 如果类文件存在于jar的适当部分中。简单的东西。但是我无法为自己的生活做这样的事情: 存在的地方和存在的地方(当然不包含MyClass)。 我会感到愚蠢吗? 问题答案: 可能:) 基本上,这只是在类路径和jar文件中包括(当前目录)。
我正在尝试转义字符串中的正斜杠,它可以在使用Java的路径中使用。 例如: 现在我想使用上面的字符串路径。同时,我必须确保将像在路径中一样出现。对不起,如果它是重复的,但我找不到任何满意的解决办法。我的目的是使用上面的字符串在ZooKeeper中创建节点。 示例: 如果我使用下面的字符串在Zokkeeper中创建节点,那么我应该将“test/world”作为一个单独的节点而不是单独的节点。Zook