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

时间:2017-02-27 09:57:08

标签: java spring maven tomcat packaging

我们正在开发一个Spring-MVC项目,我们使用Maven作为依赖管理工具,部署在Apache Tomcat上。目前,我们还集成了斯坦福解析器,添加模型库使我们的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>

2 个答案:

答案 0 :(得分:1)

你是否尝试过范围provided - 它应该被排除在战争之外。

文档project object model

答案 1 :(得分:1)

您可以在Tomcat lib文件夹中移动这些大型库,并且不要在打包的war中提供它们,方法是在Maven中提供它们。