我如何减少maven Jar文件大小目前255mb ?



如何减小Maven可执行Jar文件的大小。目前是255mb,不允许在Cloudformation中部署。

我正在通过cloudformation进行部署——>Lambda和API get .

如果我能把文件从255mb缩小,那么我的问题就解决了。

我从JAR文件中看到,以下2个依赖项占用195 MB。

<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk</artifactId>
<version>1.11.931</version>
</dependency>
<dependency>
<groupId>com.amazonaws.serverless</groupId>
<artifactId>aws-serverless-java-container-spring</artifactId>
<version>[0.1,)</version>

我应该怎么做?

完整的Pom XML文件为-

Pom.xml -

4.0.0org.springframework.bootspring-boot-starter-parent2.1.1.RELEASEcom.myapp.appmyapp-api0.0.1-SNAPSHOTmyapp-apiSpring Boot的演示项目& lt; java.version> 1.8 & lt;/java.version>org.springframework.bootspring-boot-starter-actuatorcom.amazonaws.serverlessaws-serverless-java-container-springboot21.5.2com.amazonawsaws-java-sdk1.11.931org.springframework.bootspring-boot-starter-data-mongodborg.springframework.bootspring-boot-starter-securityorg.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-starter-mailorg.springframework.bootspring-boot-devtools运行时真正的com.amazonaws.serverlessaws-serverless-java-container-spring[0.1,)org.projectlomboklombok真正的org.springframework.bootspring-boot-starter-test测试

<dependency>
<groupId>net.authorize</groupId>
<artifactId>anet-java-sdk</artifactId>
<version>2.0.6</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>0.9.1</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-bean-validators</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
</dependency>
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>5.2</version>
</dependency>
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.7</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.15</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.15</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<excludes>
<exclude>*/.xml</exclude>
</excludes>
<archive>
<compress>true</compress>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</project>

问题已解决,我正在使用AWS依赖-

<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk</artifactId>
<version>1.11.931</version>
</dependency>

我不需要所有的依赖关系,我只需要S3和Lambda。所以我们要去掉这个依赖。它减少了我的Jar文件。255mb ~ 50mb

相关内容

最新更新