MavenMaven是什么?Maven 翻译为"专家"、“内行”,是 Apache 下的一个纯 Java 开发的开源项目。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。Maven 也可被用于构建和管理各种项目,例如 C#,Ruby,Scala 和其他语言编写的项目
介绍大家可能都会碰到一些代码比较敏感的项目场景,这个时候代码被反编译看到就不好了,这个时候就需要代码混淆插件来对代码进行混淆了。基于Maven的项目一般会去考虑使用proguard-maven-plugin,但是这个插件仅支持打Jar包不支持打War包。于是我用空闲时间在proguard-maven-plugin的基础上修改了里面的一部分逻辑,可以在项目构建过的时候把代码混淆,支持打成jar包和w
转载
2024-02-28 14:05:37
592阅读
Maven WEB 项目使用ProGuard进行混淆,最佳解决方案近期公司的Android项目做了混淆,虽说对于保护代码并不是100%的,但混淆后的代码可以使那些不法份子难以阅读,这样也能对代码的保护做出贡献。 于是,公司写的一大堆WEB项目也想做保护。但几大问题随之而来:公司的所有项目全部是Maven项目,网上的混淆方案不是陈旧就是无效网上的大部分解决方案感觉像是对简单DEMO进行混淆
在上一篇我们介绍了如何在IDEA中使用MAVEN,以及如何创建依赖等。那么在这一篇中,我们就试图搭建一个生产级的解决方案,大家可以使用这个解决方案作为骨架代码来搭建自己的开发环境。在这里,我们要完成:创建parent,在parent里完成所有的pom依赖和定义;创建common项目,common作为工具包而存在,被其它module所依赖;创建dao,依赖common;创建service,依赖dao
转载
2024-10-10 08:18:04
619阅读
开发需求众所周知,class文件可以进行反编译从而泄露核心代码,为了保护知识产权,需要对代码进行混淆再进行打包。现阶段采用proguard去做一个基本的混淆,使代码的可读性降低。操作步骤 【模块目录结构】1.在子模块provider的src目录下增加assembly目录和package.xml,xml内容如下<include>标签:是混淆该模块下的代码,值和provider模
转载
2023-06-16 10:30:57
229阅读
maven程序集插件提供了一种描述符格式,允许您定义项目中文件和目录的任意程序集。例如,如果Maven项目包含目录“src/main/bin”,则可以指示程序集插件将此目录的内容复制到程序集的“bin”目录,并将“bin”目录中文件的权限更改为UNIX模式755。配置此行为的参数通过程序集描述符提供给程序集插件。目前,它可以创建以下格式的发行版:我们平时在开发过程中的项目目录结构是这样的:&nbs
转载
2024-07-12 13:37:19
758阅读
maven-shade-plugin简介“This plugin provides the capability to package the artifact in an uber-jar, including its dependencies and to shade - i.e. rename - the packages of some of the dependencies.”,这句话简
转载
2024-09-26 09:38:58
107阅读
1. 前言有时候我们开发的软件有不同的环境,开发阶段是开发环境,也就是我们这些研发人员平时使用的环境,大多数人开发还是在Windows下面吧,少数人连开发环境都需要在Linux或者Unix下进行,因为Java自身的跨平台性可能在哪个操作系统下开发差别不大,如果Java调用C/C++执行特定服务,就需要C/C++人员开发时最好和生产环境一样在Linux(而且版本一致)下进行研发,省得到时
转载
2024-10-12 10:24:10
298阅读
今天主要说一下在项目里如何引用这个包。 1 如果只是使用包里的资源,而不使用这个包的依赖包,需要这样引用即可<dependency>
<groupId>com.lind</groupId>
<artifactId>a-start-test-depend-shade</artifactId>
一、引言Q群的朋友问道可不可以在多个Web应用间合并打包成一个WAR来发布,现实情况下也存在,比如一个某大型电子商务网站,包含有机票、酒店、旅游、VIP客户等频道,其实每个频道都是分开独立的应用,但是主站上页头和页尾是公用的,怎么把主站的公共部分无缝集成到各个频道,这就颇具现实意义了,当然这只是部分运用。还有就是在项目扩展的时候,有些项目不是通过Maven构建的,并且规定你只能在它的上面进行拓展。
依赖范围就是用来控制依赖与这三种classpath(编译classpath、测试classpath、运行classpath)的关系,Maven有以下几种依赖范围。 1.compile: 编译依赖范围。如果没有指定,就会默认使用该依赖范围。使用此依赖范围的maven依赖,对于编译 测试 运行三种的classpath都有效。 2.test:测
一、开始原因 因公司需要,故研究 proguard 混淆代码,期间踩了不少坑,记录一下过程,避免下次再次踩坑,也希望可以帮到大家。代码环境: spring-boot 2.2.5, jdk 1.8, maven 3.6 二 、p
ProGuard基础语法和打包配置 这是对Android打包混淆所需配置所做的总结. ProGuard常用语法 下面列出一些常用的语法-libraryjars class_path 应用的依赖包,如android-support-v4-keep [,modifier,...] class_specification 不混淆某些类-keepclassmembers [,modifier,...]
博客上有过几篇 Maven 方面的文章,涉及到了几个零散的点。这篇 Chat 会专门介绍一个良好的企业级 Maven 依赖管理应该如何设计。内容包含私服配置,第三方依赖管理,公司内部依赖管理,项目结构对应的依赖管理。最后也想通过本篇 Chat 和大家交流一下 Maven 依赖管理方面的经验。由于本文涉及内容太多,不想在文章中包含太多基础的内容,但是对于了解不深的人来说,没有这些内容也
转载
2024-09-10 12:02:53
136阅读
直接复制到pom中即可使用 <build> <plugins> <plugin> <group
原创
2022-09-05 21:08:26
867阅读
启动完成会自动弹出JProfiler窗口,在里面就可以监控自己的代码性能了。JProfiler 操作指南详解(点击此处跳转)- EasyCode 使用Easy Code可以自动化生产后台基础逻辑代码,支持自己根据框架自定义实现。可以自己设置生成模板EasyCode官方使用手册Codota支持在IntelliJ,Android Studio,WebStorm和PhpStorm上Java和Javas
转载
2024-09-25 19:03:17
581阅读
没有Maven之前的日子个人的一个小感受,学习一个新技术,应该以历史的眼光开看待这个新技术出现的原因,以及帮我们解决了什么问题。我们来回忆一下没有Maven的日子是怎么样的?开发一个项目,需要用别人写好的jar包,我们先把开源的jar包下载下来放到项目的lib目录下,并把这个目录添加到CLASSPATH(告诉Java执行环境,在哪些目录下可以找到你要执行的Java程序需要的类或者包)我们
转载
2024-06-21 18:22:42
129阅读
Java 代码编译后生成的 .class 中包含有源代码中的所有信息(不包括注释),尤其是在其中保存有调试信息的时候。所以一个按照正常方式编译的 Java .class 文件可以非常轻易地被反编译。通常情况下,反编译可以利用现有的工具jd-gui.exe或者jad.exe。(这两个反编译工具在我的资源里有下载:有些情况下,为了保护java源码不被别人看到,通常会使用加密手段对java源码进行加密,
转载
2024-09-24 09:14:41
354阅读
前面文章《Proguard进行源代码混淆》讲解过怎么使用Proguard工具对Android的源代码进行混淆的方法(感兴趣的朋友可以访问:),但是在实际工作中发现,通过上述方法对导出的Jar并没有进行混淆。 下面我们就介绍,如果对导出的Jar包进行代码混淆。 一、准备工作 首先我们要准备好:1.你已经导出的jar包(srcjar.jar)文
scope范围名称有效范围Compile编译,测试,运行。默认的依赖范围Test测试,如JunitRuntime运行,如JDBCProvided编译,测试,如ServletAPISystem编译,测试,依赖于系统变量compilemaven默认的范围就是compile,在所有的classpath中可用,同时它们也会被打包。provided依赖只有在当JDK或者一个容器已经提供该依赖之后才使用。例如
转载
2024-06-16 15:26:04
100阅读