maven 打包时缺少文件_maven项目打包分析及打包后war包缺少配置文件报错的原因分析,使用progard混淆时配置分析...

1.maven打包:

一直以来我都没太注意过在myeclipse下使用run as来clean居然对项目的target目录没有进行操作,要让操作有效,需要进入到maven build...选项下,进行clean,然后再使用process resources来加入配置文件,再使用compile--》package来打包,同时,值得注意的是,maven在进行打包时默认只把java文件打包进war,如果在非资源路径下,有配置文件,如mybits的mapper.xml文件,需要在maven里边指定一下,否则打包会失败。

src/main/resources

**/*.properties

**/*.xml

**/*.tld

false

src/main/java

**/*.properties

**/*.xml

**/*.tld

false

tips:一般如果不特别指定,maven项目在打包后会改变项目名称,如你的项目原来叫test,打包后会变成test0.0.1-SNAPSHOT,看起来很不爽,为了解决这一问题,需要加入如下配置:

test

test

org.apache.maven.plugins

maven-war-plugin

2.1.1

WEB-INF/web.xml

2.progard混淆配置部分:

com.github.wvengen

proguard-maven-plugin

2.0.11

package

proguard

true

true

pg

-target 1.8

-dontshrink

-dontoptimize

-dontskipnonpubliclibraryclasses

-dontskipnonpubliclibraryclassmembers

-dontusemixedcaseclassnames

-allowaccessmodification

-useuniqueclassmembernames

-keeppackagenames

-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LocalVariable*Table,*Annotation*,Synthetic,EnclosingMethod

-keepclassmembers public class * {void set*(***);*** get*();}

-keep class **.list.servlet.**{*;}

-keep class **.zxf.servlet.**{*;}

-keep class **.controller.**

-keep class **.dao.**{ ; }

-keep class **.domain.** {*;}

-keep class com.lum.interface_util.** {*;}

-keep class com.java.zxf.util.ShowString {*;}

classes-autotest.jar

${java.home}/lib/rt.jar

classes

${project.build.directory}

3.混淆说明:你在混淆前,需要仔细分析你的项目,看看那些是必须保持类名不变的,那些是类名可以变,方法名可以变的,那些是可以随意变的,只有在搞清楚这些之后,你的混淆工作才是有保障的,即即实现了混淆,也保证了代码的可执行性,混淆结果截图如下:

反编译后的效果:

5.总结:个人分析得出不能混淆的类主要有这些:①在web.xml里边配置的servlet,那么servlet的名称和方法名都不能进行混淆;②与数据库有交互的,主要包括实体类,dao层(这种是通过mapper.xml形式写的sql);③在jsp页面导入的类,如常量类,实体类等,需保证类名和变量名都不能混淆

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值