相关疑难解决方法(0)

如何使用maven打包和运行具有依赖关系的简单命令行应用程序?

我对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来自命令行.

谢谢!

麦克风.

java maven-2 maven

16
推荐指数
2
解决办法
1万
查看次数

如何使用maven将Class-Path添加到清单文件中

当使用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)

java manifest maven

12
推荐指数
1
解决办法
3万
查看次数

标签 统计

java ×2

maven ×2

manifest ×1

maven-2 ×1