Maven:在本地文件系统上打包 Jar,但不在 WAR 文件中。

Maven : Packaging Jar on local filesystem, but not in WAR file.

我们正在开发一个 Spring-MVC 项目,其中我们使用 Maven 作为依赖管理工具,部署在 Apache Tomcat 上。目前,我们还在集成 Stanford 解析器,添加模型库将 WAR 文件的大小从 192Mb 增加到 600Mb。

这给我们带来了一个问题,因为我们仍在开发中,我们更频繁地在我们的测试系统上进行部署,并希望减少上传文件的延迟。

有什么方法可以将这些 JAR 添加到我们的本地文件系统中,从中引用它们但不包含在 WAR 文件中?谢谢。

POM.xml :

    <parent>
        <groupId>io.spring.platform</groupId>
        <artifactId>platform-bom</artifactId>
        <version>1.1.3.RELEASE</version>
        <relativePath />
    </parent>
    <dependencies>
 <dependency>
            <groupId>edu.stanford.nlp</groupId>
            <artifactId>stanford-parser</artifactId>
            <version>3.7.0</version>
        </dependency>


     <dependency>
            <groupId>edu.stanford.nlp</groupId>
            <artifactId>stanford-corenlp</artifactId>
            <version>3.7.0</version>
        </dependency>
        <dependency>
            <groupId>edu.stanford.nlp</groupId>
            <artifactId>stanford-corenlp</artifactId>
            <version>3.7.0</version>
            <classifier>models</classifier>
        </dependency>



        <dependency>
            <groupId>edu.stanford.nlp</groupId>
            <artifactId>stanford-corenlp</artifactId>
            <version>3.7.0</version>
            <classifier>models-german</classifier>
        </dependency>
// And other dependencies

<build>
        <plugins>
            <plugin>
                <groupId>com.samaxes.maven</groupId>
                <artifactId>minify-maven-plugin</artifactId>
                <version>1.7.4</version>
                 // Plugin configuration
           </plugin>
<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <compilerArgument>-Xlint:all</compilerArgument>
                    <showWarnings>false</showWarnings>
                    <showDeprecation>true</showDeprecation>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <configuration>
                    <mainClass>org.test.int1.Main</mainClass>
                </configuration>
            </plugin>

您是否尝试过范围 provided - 它应该被排除在 war 之外。

文档project object model

您可以将这些大型库移动到 Tomcat lib 文件夹中,而不是通过在 Maven 中指定它们来在打包的 war 中提供它们。