我想使用ProGuard(项目a)混淆项目(jar)。然而,这个项目依赖于另一个war(项目B),并且使用了我在B中开发的一些类。我使用了这个问题的解决方案:从依赖于其他项目的maven项目构建一个jar,但它不起作用,当我在项目a上使用命令maven clean install-X
时,我得到了错误:
error: cannot find symbol
或
error: package com.example does not exist
我怎样才能把这个罐子弄糊涂?
编辑1
在项目A的POM中,我有:
>
<dependency>
<groupId>com.example</groupId>
<artifactId>myWarProject</artifactId>
<version>1.0.0-BUILD-SNAPSHOT</version>
</dependency>
内置部分:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<finalName>DeviceListener</finalName>
<transformers>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<manifestEntries>
<Main-Class>com.example.main.Main</Main-Class>
<Build-Number>1</Build-Number>
</manifestEntries>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
在项目B中,我有:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<attachClasses>true</attachClasses>
</configuration>
</plugin>
我的意思是创建war项目中的类的jar,如下所示:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<attachClasses>true</attachClasses>
<archiveClasses>true</archiveClasses>
</configuration>
</plugin>
</plugins>
</build>
这将产生一个补充jar文件,其中包含war项目的类,这些类可以用作依赖项(不要忘记定义分类器)...
您需要像这样更改依赖关系:
xml prettyprint-override"><dependency>
<groupId>com.example</groupId>
<artifactId>myWarProject</artifactId>
<version>1.0.0-BUILD-SNAPSHOT</version>
<classifier>classes</classifier>
</dependency>
我有一个SpringBootWeb项目,它依赖于maven overlay war文件,这也是SpringWeb项目。pom中包含战争。xml。 我如何部署战争与Spring Boot应用程序,以便我可以使用属于战争文件的Restendpoint。我试图从STS启动应用程序,只需将其作为Java应用程序运行。当应用程序启动时,我只能看到属于Spring Boot项目的URL,但属于war文件的UR
我有一个由gradle建造的战争项目。我有一个字符串gradle.build文件:编译'log4j: log4j: 1.2.17'但没有任何log4j.jar结果WEB-INF/lib目录在myproject.war文件。 但“compile”配置中定义的所有其他lib都存在。为什么会有如此奇怪的行为,它是一个bug还是某种功能?如何将其包含在我的网络档案中? Eclipse在项目的“网络应用程序
虽然应用程序启动良好,到目前为止没有检测到功能丢失,但由于多个(主要是重复的)错误,测试无法运行,例如: [..] com类型的依赖项不明确。fasterxml。杰克逊。数据绑定。ObjectMapper和限定符[@Named(value=“objMapper”)]-java成员:com。项目。存储库。MyDao#()-在类bean[types=[com.proj.repository.MyEla
问题内容: 我已经在互联网上搜索了很长一段时间,但无法弄清楚如何配置Maven-war插件或类似的东西,以便系统依赖项包含在内置战争中(WEB-INF / lib文件夹) 在jar-build的情况下,我使用maven依赖插件: 但是我不明白在打仗的情况下该怎么办。我试过使用maven-war插件,但是在构建中不包括系统依赖项。 [更新] 我有以下类型的行为: 在我的POM中,构建战争时,这些依赖
我有一个jar文件集合,其依赖关系为菱形模式: / \ Dep1.JAR ; Dep2.JAR / 我想用ProGuard对它们进行模糊处理,以保留它们的依赖关系,例如,这样base.jar和dep2.jar的模糊版本就可以单独执行,而不需要dep1.jar和de
问题内容: 可以运行以了解模块任务的依赖性。有没有办法找到 buildscript依赖 的 传递依赖 ? 示例: 直接取决于: 可以在MVNRepository上看到。但是,这些工件有其自己的依赖性。有没有找到方法而无需手动遍历整个依赖树的方法? 为了澄清起见,我正在谈论的类路径由以下方式定义: 问题答案: 您可以使用以下命令: Udacity提供了很棒的Android Gradle 教程,但是您