我对java和maven都是全新的,所以这很可能非常简单.
如果我按照maven2 hello world说明进行操作:
http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html
一切正常.如果我然后更改pom.xml以从远程存储库引入依赖项,则存储此依赖项的文件~/.m2/repository/new-dependency/.
使用说明中的语法hello world来运行应用程序需要我将依赖项的绝对路径添加到我的类路径(通过设置环境变量或通过命令行开关):
java -cp target/my-app-1.0-SNAPSHOT.jar:/.../.m2/.../new-dependency.jar com.mycompany.app.App
Run Code Online (Sandbox Code Playgroud)
这显然会很快变得笨拙:)
我怀疑这不是运行java程序的常用方法,而且我只需要阅读更多关于.jar文件的内容,但是在我这样做的时候,我会很感激有关如何正确执行此操作的任何提示.
我没有使用IDE,顺便说一句.vim来自命令行.
谢谢!
麦克风.
当使用maven-jar-plugin时,
我想在Manifest.mf中添加条目,
所以它将包含:
Class-Path :.
当我将此条目添加到Pom时:
<Class-Path>.</Class-Path>
Run Code Online (Sandbox Code Playgroud)
它将创建具有所有依赖性的
Class-Path
Like:
Class-Path :. jar1name.jar jar2name.jar等
而不仅仅是
Class-Path :.
有没有办法避免maven将所有jar名称添加到Class-Path?
谢谢
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
</manifest>
<manifestEntries>
<Built-By>Me</Built-By>
<Class-Path>.</Class-Path>
</manifestEntries>
</archive>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)