我有一个Java/Selenium/TestNG/Maven项目。我可以成功创建myproj-0.0.1-SNAPSHOT。jar文件。当我尝试运行它时,我得到一个错误:
$ java -jar myproj-0.0.1-SNAPSHOT.jar
Error: Could not find or load main class utilities.MavenTestInvoker
我的主要目标是能够运行此快照。jar文件,用于在远程计算机上运行我的测试用例。
我在pom中使用了一个构建插件。xml:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>testng.xml</suiteXmlFile>
</suiteXmlFiles>
<skipTests>true</skipTests>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>utilities.MavenTestInvoker</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
构建项目时,我使用的是maven命令:“mvn clean package shade:shade”
这就产生了我的优步罐。
以下是依赖项:
<dependencies>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-invoker</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.4.3</version>
</dependency>
plus some others
</dependencies>
我做错了什么?
请记住,您的项目必须具有正确的文件夹结构,例如,您的代码必须位于src/main/java中
包含插件依赖项的正确用法如下所示,您可以在单个位置合并插件依赖项-
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>testng.xml</suiteXmlFile>
</suiteXmlFiles>
<skipTests>true</skipTests>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.2</version>
<!--Notice I have removed the configs here. Not required to generate the jar-->
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-invoker</artifactId>
<version>2.2</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.4.3</version>
</plugin>
</plugins>
</pluginManagement>
</build>
此外,您可以在同一声明中编辑相应的插件配置。
此外,对于使用maven shade插件和maven jar插件,您可能需要分别查看此处和此处的示例。
所以,我最近创建了我的第一个插件,叫做BetterTeaming。该插件正在使用插口api。插件发布后,一段时间后,有人建议我使用Maven从编译的jar中删除插口api依赖项。这应该缩小文件大小。然而,我对Maven了解不多。我成功地设置了它,并将文件复制到Maven文件夹(包括层次结构截图),但每次我在本地服务器Minecraft上加载插件时,它都会向我抛出ClassNotFoundExcep
问题内容: 我已经尝试了几天,为我的多模块maven项目创建可执行的jar文件。但是,当我尝试运行此jar文件时,出现“找不到或加载主类src.main.java.com.domain.Mainclass”(出于公司隐私的考虑,我更改了名称domain和MainClass) 我已经搜寻了几天,似乎没有任何明显的技巧可行。 我的项目有一个主要的Maven项目,该项目可以下载所有依赖项(packagi
我为我的服务器找到了一个非常好的插件,但它已经死了,作者没有更新它,所以我更新了它,但当我把插件放在我的插件文件夹中时,它没有工作。这是cmd错误]:无法加载“plugins\BossBarMessage”。jar'在文件夹“plugins”org中。布基特。插件。InvalidPlugineException:找不到主类“com”。那唐。bossbarmessage。组织上的“主要”。布基特。插
https://mvnrepository.com/artifact/org.apache.tomcat.maven/tomcat8-maven-plugin 当我使用运行时,我得到以下错误: 但是,rt.jar确实存在,并且我的JAVA_HOME环境设置正确: MVN-V Apache Maven 3.3.9(BB52D8502B132EC0A5A3F4C09453C07478323DC5;20
这不是这个问题的重复。我在将外部依赖项包含到Javadoc中时遇到了问题,这不是问题所在。 我正在尝试将我的API部署到Maven Central。除了Maven Javadoc插件外,一切都很顺利。我的API有两个依赖项(Spigot API-org.spigotmc:Spigot API:1.19-R0.1-SNAPSHOT和JetBrains注释-org.JetBrains:Annotati
我有一个多模块mavenSpring启动maven项目。其中一个子模块是一个存根(Spring启动应用程序),我想在myRealApp集成测试期间启动并停止它。 这是模块myRealApp中pom文件的外观。它也有所有的集成测试。它试图在集成测试前阶段启动存根模块。但当我在子模块目录中运行maven goal时,会出现错误: 错误:无法找到或加载主类io。大摇大摆我的浴缸 组织。阿帕奇。专家生命周