Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用maven从spring启动应用程序中删除所有JAR_Java_Maven_Spring Boot_Build_War - Fatal编程技术网

Java 如何使用maven从spring启动应用程序中删除所有JAR

Java 如何使用maven从spring启动应用程序中删除所有JAR,java,maven,spring-boot,build,war,Java,Maven,Spring Boot,Build,War,我需要从使用spring boot构建的war中删除所有JAR(整个库和库提供的文件夹),因为web应用程序将使用commons共享库部署在Websphere上 有没有办法做到这一点,因为war插件中的排除项不能使用,而boot maven插件中的排除项是为了准时使用 编辑: 我目前的POM: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xml

我需要从使用spring boot构建的war中删除所有JAR(整个库和库提供的文件夹),因为web应用程序将使用commons共享库部署在Websphere上

有没有办法做到这一点,因为war插件中的排除项不能使用,而boot maven插件中的排除项是为了准时使用

编辑:

我目前的POM:

<?xml version="1.0" encoding="UTF-8"?>
<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>

    <groupId>groupId</groupId>
    <artifactId>artifactId</artifactId>
    <version>1.0.0-SNAPSHOT</version>

    <packaging>war</packaging>

    <name>Application Name</name>
    <description>Application Description</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.4.1.RELEASE</version>
        <relativePath /> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.7</java.version>
        <powermock.version>1.6.5</powermock.version>
        <snippetsDirectory>${project.build.directory}/generated-snippets</snippetsDirectory>
        <hibernate.version>4.2.15.Final</hibernate.version>
    </properties>

    <dependencies>
        <!-- SPRING DEPENDENCIES -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
            <exclusions>
                <exclusion>
                    <artifactId>hibernate-jpa-2.0-api</artifactId>
                    <groupId>org.hibernate.javax.persistence</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions>
                <exclusion>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                    <groupId>org.springframework.boot</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>hibernate-validator</artifactId>
                    <groupId>org.hibernate</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-legacy</artifactId>
            <version>1.0.2.RELEASE</version>
        </dependency>

        <!-- DATABASE RELATED DEPENDENCIES -->
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
        </dependency>
        <dependency>
            <groupId>org.hibernate.javax.persistence</groupId>
            <artifactId>hibernate-jpa-2.0-api</artifactId>
            <version>1.0.1.Final</version>
            <scope>provided</scope>
        </dependency>

        <!-- TEST & DEVELOPEMENT DEPENDENCIES -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.powermock</groupId>
            <artifactId>powermock-api-mockito</artifactId>
            <version>${powermock.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.powermock</groupId>
            <artifactId>powermock-module-junit4</artifactId>
            <version>${powermock.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.restdocs</groupId>
            <artifactId>spring-restdocs-mockmvc</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <includes>
                        <include>**/*Documentation.java</include>
                    </includes>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.asciidoctor</groupId>
                <artifactId>asciidoctor-maven-plugin</artifactId>
                <version>1.5.2</version>
                <executions>
                    <execution>
                        <id>generate-docs</id>
                        <phase>prepare-package</phase>
                        <goals>
                            <goal>process-asciidoc</goal>
                        </goals>
                        <configuration>
                            <backend>html</backend>
                            <doctype>book</doctype>
                            <attributes>
                                <snippets>${snippetsDirectory}</snippets>
                            </attributes>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>maven-resources-plugin</artifactId>
                <version>2.7</version><!--$NO-MVN-MAN-VER$ -->
                <executions>
                    <execution>
                        <id>copy-resources</id>
                        <phase>prepare-package</phase>
                        <goals>
                            <goal>copy-resources</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>
                                ${project.build.outputDirectory}/static/docs
                            </outputDirectory>
                            <resources>
                                <resource>
                                    <directory>
                                        ${project.build.directory}/generated-docs
                                    </directory>
                                </resource>
                            </resources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

4.0.0
groupId
人工的
1.0.0-SNAPSHOT
战争
应用程序名称
应用说明
org.springframework.boot
spring启动程序父级
1.4.1.1发布
UTF-8
UTF-8
1.7
1.6.5
${project.build.directory}/生成的代码段
4.2.15.最终版本
org.springframework.boot
spring引导启动器数据jpa
hibernate-jpa-2.0-api
org.hibernate.javax.persistence
org.springframework.boot
SpringBootStarterWeb
弹簧启动机tomcat
org.springframework.boot
休眠验证器
org.hibernate
org.springframework.boot
弹簧启动机tomcat
假如
org.springframework.boot
弹簧靴遗产
1.0.2.1发布
com.h2数据库
氢
org.hibernate.javax.persistence
hibernate-jpa-2.0-api
1.0.1.最终版本
假如
org.springframework.boot
弹簧靴开发工具
真的
org.springframework.boot
弹簧起动试验
测试
org.powermock
powermock api mockito
${powermock.version}
测试
org.powermock
powermock-module-junit4
${powermock.version}
测试
org.springframework.restdocs
SpringRestMVC
测试
src/main/resources
真的
org.springframework.boot
springbootmaven插件
org.apache.maven.plugins
maven surefire插件
**/*Documentation.java
org.ascidoctor
AscidActor maven插件
1.5.2
生成文档
准备包装
过程ascidoc
html
书
${snippetsDirectory}
maven资源插件
2.7
复制资源
准备包装
复制资源
${project.build.outputDirectory}/static/docs
${project.build.directory}/生成的文档

如果您想排除
项目.war/WEB-INF/lib中的JAR,那么您可以尝试使用
提供的

范例

<dependency>
    <groupId>org.hibernate.javax.persistence</groupId>
    <artifactId>hibernate-jpa-2.1-api</artifactId>
    <version>1.0.0.Final</version>
    <scope>provided</scope>
</dependency>
这样,我就看不到lib提供的目录了


HTH.

如果您想排除
项目.war/WEB-INF/lib中的JAR,那么您可以尝试使用
提供的

范例

<dependency>
    <groupId>org.hibernate.javax.persistence</groupId>
    <artifactId>hibernate-jpa-2.1-api</artifactId>
    <version>1.0.0.Final</version>
    <scope>provided</scope>
</dependency>
这样,我就看不到lib提供的目录了


HTH.

这是我问题的部分解决方案,因为一切都在lib中提供。。。我需要一个更轻的war文件…什么是提供的
lib
文件夹?它在应用程序中的位置是什么?当我在WEB-INF中构建应用程序时,我同时提供了lib和lib。提供的lib包含标记为my pom中提供的所有JAR。此
lib-provided
实际存在于您的项目目录中吗?因为AFAIK,标准maven项目结构没有提供任何名为
lib的目录。或者,如果您不介意的话,将pom.xml和任何相关的maven文件放入您的问题中。删除任何密码或任何敏感数据(如果存在)。这是我问题的部分解决方案,因为所有内容都在提供的库中。。。我需要一个更轻的war文件…什么是提供的
lib
文件夹?它在应用程序中的位置是什么?当我在WEB-INF中构建应用程序时,我同时提供了lib和lib。提供的lib包含标记为my pom中提供的所有JAR。此
lib-provided
实际存在于您的项目目录中吗?因为AFAIK,标准maven项目结构不会