我使用了maven-shade-plugin进行构建,做了一个mvn-clean-package并且能够从目标目录中执行代码,如下所示:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
<configuration>
<finalName>uber-${artifactId}-${version}</finalName>
</configuration>
</plugin>
</plugins>
然而,我有点困惑我将如何创建一个包含所有内容的可执行jar,以便这个jar文件可以在一台单独的机器上运行 - 所有内容都捆绑在其中 我的pom文件的构建部分如下
mvn clean package
然后我像这样做maven包:java -jar target/uber-weather-lookup-1.0-SNAPSHOT.jar
。
运行
no main manifest attribute, in target/uber-weather-lookup-1.0-SNAPSHOT.jar
生成以下错误
class MyEdit(urwid.Edit):
def __init__(self, my_attribute, *args, **kw):
super().__init__(*args, **kw)
self.my_attribute = []
def my_method(self):
#some code that modifies my_attribute
return self.my_attribute
。
我是新手,所以有人可以告诉我我做错了什么吗?
答案 0 :(得分:1)
使用maven-jar-plugin指定主类
您可能还需要使用maven-assembly-plugin来打包您的依赖项(我总是很难确定何时使用程序集与插件插件)
请看一下这个答案的例子 - https://stackoverflow.com/a/15990345