我有以下文件夹布局(使用maven deploy plugin构建):
projectrelease
├── README.md
└── com
└── example
└── demo
├── 0.0.1-SNAPSHOT
│ ├── demo-0.0.1-20171220.161043-1.jar
│ ├── demo-0.0.1-20171220.161043-1.jar.md5
│ ├── demo-0.0.1-20171220.161043-1.jar.sha1
│ ├── demo-0.0.1-20171220.161043-1.pom
│ ├── demo-0.0.1-20171220.161043-1.pom.md5
│ ├── demo-0.0.1-20171220.161043-1.pom.sha1
│ ├── maven-metadata.xml
│ ├── maven-metadata.xml.md5
│ └── maven-metadata.xml.sha1
├── maven-metadata.xml
├── maven-metadata.xml.md5
└── maven-metadata.xml.sha1
如何使用maven cmd运行它?
该项目是使用maven可执行jar插件构建的,它可以通过以下方式运行:
./projectrelease/com/example/demo/0.0.1-SNAPSHOT/demo-0.0.1-20171220.161043-1.jar
要么
java -jar projectrelease/com/example/demo/0.0.1-SNAPSHOT/demo-0.0.1-20171220.161043-1.jar
我正在寻找从根文件夹运行mvn cmd,以便它将运行整个项目
我正在寻找从根文件夹运行mvn cmd,以便它将运行整个项目
我不认为这些文件可以“本身”运行,没有一些额外的工具或Maven插件。另外,我实际上并不确定“运行项目”是什么意思。你的意思是编译吗?或者以类似于普通java执行的某种方式运行它?
你所拥有的是Maven存储库中编译的Artifacts的布局。
Artifact和Repository都是特定的Maven概念。
.pom
和.xml
文件,.sha1
和.md5
文件,都是Maven本身用来控制从存储库下载工件的元数据。 .jar
文件是真正感兴趣的神器。
这些文件旨在安装到repo中,然后被其他Maven项目用作pom.xml
中的依赖项。
例如:
<dependency>
<groupId>com.example.demo</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
这些文件可以安装在基于文件系统的“本地存储库”中,通常可以在${user.home}/.m2/
找到
或者您可以运行存储库服务器。 Common Repository服务器包括Nexus,Artifactory或Archiva
另一种可能性是主要的.jar
文件是可执行的。在这种情况下,您不会使用Maven运行,而是作为普通的Java文件运行:
java -jar demo-0.0.1-20171220.161043-1.jar
我想你可以包含manuelly依赖jar,或者你可以用依赖项编译你的项目,参见this。