我编写了以下pom.xml文件:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.earnix.eo</groupId>
<artifactId>EOParent</artifactId>
<version>8.8.4.0-SNAPSHOT</version>
<relativePath>../EOParent/pom.xml</relativePath>
</parent>
<artifactId>PricingBatch</artifactId>
<name>PricingBatch</name>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>com.earnix.eo</groupId>
<artifactId>Tools</artifactId>
<version>${project.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.earnix.eo</groupId>
<artifactId>EarnixShared</artifactId>
<version>${project.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.earnix.eo</groupId>
<artifactId>EOGUI</artifactId>
<version>${project.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.earnix.eo</groupId>
<artifactId>EOSessions</artifactId>
<version>${project.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.earnix.eo</groupId>
<artifactId>EOUtils</artifactId>
<version>${project.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.sample</groupId>
<artifactId>sample1</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>C:\ibm\WebSphere\AppServer\lib\bootstrap.jar</systemPath>
</dependency>
<dependency>
<groupId>com.sample</groupId>
<artifactId>sample2</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>C:\ibm\WebSphere\AppServer\runtimes\com.ibm.ws.webservices.thinclient_8.5.0.jar</systemPath>
</dependency>
<dependency>
<groupId>com.sample</groupId>
<artifactId>sample3</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>C:\ibm\WebSphere\AppServer\java\jre\lib\xml.jar</systemPath>
</dependency>
<dependency>
<groupId>com.sample</groupId>
<artifactId>sample4</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>C:\ibm\WebSphere\AppServer\java\jre\lib\ibmorb.jar</systemPath>
</dependency>
</dependencies>
<build>
<finalName>PricingBatch</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>com.earnix.tools.batchpricing.Main</mainClass>
</manifest>
<manifestEntries>
<Class-Path>EOSessions.jar EOUtils.jar EOSessions.jar EOGUI.jar EarnixShared.jar bootstrap.jar ibmorb.jar xml.jar com.ibm.ws.webservices.thinclient_8.5.0.jar</Class-Path>
</manifestEntries>
</archive>
</configuration>
</plugin>
</plugins>
</build>
我的目的是构建一个jar文件,它的主类是com.earnix.tools.BatchPricing.main。如你所见,我有许多依赖项。四个依赖项是不属于maven Artifactory的jar文件:C:\IBM\WebSphere\AppServer\runtimes\com.ibm.ws.webservices.thinclient_8.5.0.jar、C:\IBM\WebSphere\AppServer\lib\bootstrap.jar、
C:\IBM\WebSphere\AppServer\java\jre\lib\xml.jar、C:\IBM\WebSphere\AppServer\java\jre\lib\ibmorb.jar
我没有看到com.earnix.tools.batchpricing.main类。
我可以做什么来使Maven创建我想要的jar文件?
我在pom.xml中看到了这种依赖关系
<dependency>
<groupId>com.earnix.eo</groupId>
<artifactId>Tools</artifactId>
<version>${project.version}</version>
<scope>compile</scope>
</dependency>
因此,如果您希望在该模块中使用main类com.earnix.tools.batchpricing.main
,那么您最好从该模块构建可执行的jar。
或者您可以要求Maven将所有依赖项解包到生成的jar中
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>fully.qualified.MainClass</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<appendAssemblyId>false</appendAssemblyId>
</configuration>
<executions>
<execution>
<id>make-assembly</id> <!-- this is used for inheritance merges -->
<phase>package</phase> <!-- bind to the packaging phase -->
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
我正在为我的项目使用maven,在提供GroupId、ArtifactId和Version之后,需要提供一个Nexus路径。 我的Nexus路径-https://nexus/content/repositories/ 路径中存在的工件-https:/mynexusdomain/nexus/内容/存储库/快照/com/org/abc/myartifactid/MySnapshotVersion/pl
开普勒不会这样。卢娜哪里坏了?我在防火墙和代理服务器后面,阻止某些类型的互联网访问。 多谢了。
这是我的pom文件的一个片段。 我通过命令成功地使用了它 但是,当我尝试将其包含在“pluginManagement”标记中时,当我启动目标时,将停止工作。为什么“插件管理”标签会改变构建行为?或者我应该使用其他目标或选项?
问题内容: 使用Eclipse WTP和m2eclipse时,可以将所有依赖项复制到WEB-INF / lib(通过在Deployment程序集中添加“ maven依赖项”)。但是,还会复制范围“已提供”的依赖项,例如el-api和jsp-api。这会干扰容器,并且无法启动。 不复制“提供的”罐子的解决方案吗? 问题答案: 您必须安装 这是m2eclipse的额外插件 它将为您完成这项工作。安装m
问题内容: 我正在使用selenium脚本,在其中尝试下载Excel文件并为其指定特定名称。这是我的代码: 无论如何,我可以给下载的文件指定一个特定的名称吗? 码: 问题答案: 您不能通过硒指定下载文件的名称。但是,您可以下载文件,在下载的文件夹中找到最新文件,然后根据需要重命名。 注意:从Google搜索中借用的方法可能有错误。但是你明白了。
问题内容: 我希望站点上的用户能够下载路径被遮盖的文件,以便不能直接下载它们。 例如,我希望URL如下所示: http://example.com/download/?f=somefile.txt 在服务器上,我知道所有可下载文件都位于文件夹中。 有没有一种方法可以使Django提供该文件供下载,而不是尝试查找URL和查看以显示它? 问题答案: 对于“两全其美”,你可以将S.Lott的解决方案与x