java绿色打包知多少

     2022-03-14     410

关键词:

当咱们写论文的时候,发现自己做的图不和要求,怎么办?很简单嘛,下个PS搞搞,一下完事,可是现在在网上下个PS可不简单,不信你试试,各种垃圾软件,下了的也是测试版,这时候你多想要个免安装版的绿色PS啊,今天我们就讲解下如何用Eclipse绿色打包。绿色打包比普通的打包麻烦的不要太多,用户减少了的麻烦必然要加到你头上不是。这是我写的第一个博客,入园较晚了,刚开始工作有时候闲来无事想分享下心得,也备自己忘记时查看。很多地方考虑不周也没有截图显示,大家将就下有问题可以留言,好了,下面进入正题

一、   首先介绍下最终结果

1、Eclipse上面需要的:

(1)PQ.ANT

(2)Application和Server上有一个MANIFEST

2、文件夹包含:

(1)Client文件夹

1~PQ.Application

2~lib文件夹,里面装有第三方架包

3~lib_nari文件夹,里面装有引用的架包

4~其他配置文件,如ClinetProxyContext.xml等

5~start.bat启动程序

(2)Server文件夹(只装在服务器端即可)

1~PQ.Server

2~lib文件夹,里面装有第三方架包

3~lib_nari文件夹,里面装有引用的架包

4~其他配置文件,如jdbc、config等

5~start.bat启动程序

 

二:具体操作流程

Application里的MANIFEST.MF制作方法:

(1) 在PQ.Application下面的src里,新建文件,起名MANIFEST.MF;

(2) 首行版本号:比如Manifest-Version:空格1.0

(3) 第二行,作者:比如Created-By: 空格Fat xu Eclipse Plug-IN(黄色部分是必须的)

(4) 第三行,入口:比如Main-Class:空格 com.nari.slsd.hd.pq.mainApp.main,即main函数所在位置

(5) 第四行,架包。需要注意的地方

注:(4)与(5)可以互换

架包包括两部分,Client、Application里面的第三方架包引用架包

引用架包:右键Application->Properties->java build path->Projects

里面所有的架包,和引用架包所引用的架包

格式:空格 文件夹名字/架包名字.jar空格

例如:

空格lib_nari/HD.Client.jar空格

空格lib_nari/HD.Client.chart.jar空格

第三方架包:右键Application->Properties->java build path->Libraries(要求与引用架包一样)

里面所有的架包,和引用架包所引用的架包

格式:空格 文件夹名字/架包名字.jar空格

例如:

空格lib_nari/HD.Client.jar空格

空格lib_nari/HD.Client.chart.jar空格

特别,第一行格式:

Class-Path:空格 . 空格lib/batik-all-1.7.jar空格

这里架包顺序先按照程序默认的来写,如运行有错误,再改相应顺序,可能会经过几次顺序调整。

 

Server里的MANIFEST.MF制作方法:

要求与Application里面完全一样,只是写Server里面的东西

 

PQAnt.xml制作方法:

(1) 新建PQAnt的包,然后在里面建PQAnt,xml文件

(2) 第一行,版本号:例如:<?xml version=”1.0”?>

(3) 第二行,工程名字:例如:<project name=”xz firstProject” default=”doc”>

(4) 下面,给需要的的包命名和定位,例如

<!-- properies -->

<property name="HD.Base.dir" value="D:/HDDev" />

    <property name="HD.Brl.classes.dir" value="${HD.Base.dir}/HD.Brl/bin" />

    <property name="HD.DAO.classes.dir" value="${HD.Base.dir}/HD.DAO/bin" />

    <property name="HD.Client.classes.dir" value="${HD.Base.dir}/HD.Client/bin" />

这里顺序无所谓,空格也无关紧要

(5) 新建文件夹,分别放文件:(这里之所以没有第三方架包,是以为第三方架包要手动添加)

<property name="dist.dir" value="D:/PQ_RELEASE/" />

 

<mkdir dir="${dist.dir}" />

<mkdir dir="${dist.dir}/Client/lib_nari" />

<mkdir dir="${dist.dir}/Server/lib_nari" />

(6) 初始化、编译、调试、打包

<!-- 初始化-->

   <target name="init">

   </target>

 

   <!-- 编译 -->

   <target name="compile" depends="init" description="compile the source files">

   </target>

 

   <!-- 调试 -->

   <target name="test" depends="compile" description="run junit test">

   </target>

 

<!-- 打包成jar -->

        <target name="pack" depends="test" description="make .jar file">

        <delete>

            <fileset dir="${dist.dir}/" includes="*.jar" />

        </delete>

 

(7) 输出包(不需要的尽量排除点)

<!—输出HD.DAO.jar -->

      <jar destfile="${dist.dir}/HD.DAO.jar" basedir="${HD.DAO.classes.dir}">

          <exclude name="**/*.properties" />

          <exclude name="**/*.resx" />

          <exclude name="**/*.xml" />

      </jar>

      <!-- 输出HD.Brl.jar -->

      <jar destfile="${dist.dir}/HD.Brl.jar" basedir="${HD.Brl.classes.dir}">

          <exclude name="**/*.xml" />

          <exclude name="**/*.properties" />

      </jar> 

(8) 第(7)步已经输出了,下面就要分客户端和服务器端文件夹

<target name="doc" depends="pack" description="create api doc">

      <!-- Client/lib_nari -->

      <copy file="${dist.dir}/HD.Client.Chart.jar" tofile="${dist.dir}/Client/lib_nari/HD.Client.Chart.jar" />

      <copy file="${dist.dir}/HD.Client.Common.jar" tofile="${dist.dir}/Client/lib_nari/HD.Client.Common.jar" />

      <copy file="${dist.dir}/HD.Client.Control.jar" tofile="${dist.dir}/Client/lib_nari/HD.Client.Control.jar" />

<!-- Server/lib_nari -->

        <copy file="${dist.dir}/HD.Brl.jar" tofile="${dist.dir}/Server/lib_nari/HD.Brl.jar" />

        <copy file="${dist.dir}/HD.Common.jar" tofile="${dist.dir}/Server/lib_nari/HD.Common.jar" />

 

到这里PQAnt.xml已经全部完成,主要问题就是比较繁琐,需要很细心。

完成后运行,如果不报错误,就是基本成功

 

Server与Client启动方法:

分别在Client与Server新建文本文件,改名start.bat,里面写

java -jar PQ.Server.jar

 

pause

考取配置文件:

将Application与Server里面的配置文件,拷到相应文件夹,并把PQ.server.jar与PQ.Application.jar两个包分辨拷到对应的文件夹内。

 

考取第三方架包:

在Application与Server分别建文件夹,将第三方架包找到并一个个考进去,这里的工作可以与前面PQAnt.xml和MANIFEST同时进行

 

三、现场安装:

(1) 先在服务器端,装上Client与Server,把jdbc与config的IP调整到服务器的IP,并把Server一直启动

(2) 将数据库的数据备份,在服务器端的数据库进行还原

(3) 在客户端安装Client,调整IP并运行

网页制作知多少

网页制作知多少一、通用模板:<!DOCTYPEhtml><htmllang=”en”>  <head>      <meta charset=”UTF-8”/>    &nb 查看详情

一道关于java序列化的问题,看大家知多少————

 问题先放在这里,稍后我会做出解答 已知类有Test和Test2,问两次主程序的输出结果是多少(SerializeUtil只是序列化的工具类)类TestpublicclassTestimplementsSerializable{privatestaticfinallongserialVersionUID=1L;privateintnum;privatetransientStri 查看详情

java继承知多少,本文详细告诉你

1.继承众所周知,我们Java语言是一种面向对象的编程语言,每当我们提到Java的特性,大家一定会在脑海里浮现出Java中的​继承、多态以及封装​。我们在日常的开发中经常会用到这三种特性,本文首先给大家介绍这三大特性之... 查看详情

java程序设计原则知多少

程序设计七大原则一、开闭原则?针对我们设计的功能模块对扩展开放,对修改关闭:利用面向接口(抽象)编程(多态的特性),实现对功能需求扩展的同时,不允许更改原来的代码。提高对象的可复用性、可维护性、灵活性... 查看详情

企业iso14001认证的好处和基本条件,你知多少?

...业的知名度、社会公信力。使企业获得进入国际市场的"绿色通行证"。提高企业管理水平及员工环境保护意识。实现污染预防,降低环境及法律风险。提高资源原材料使用率,降低废物和有害物产生率。企业满足什么条件才能申... 查看详情

eshoponcontainers知多少[1]:总体概览

引言在微服务大行其道的今天,Java阵营的SpringBoot、SpringCloud、Dubbo微服务框架可谓是风水水起,也不得不感慨Java的生态圈的火爆。反观国内.NET阵营,微服务却不愠不火。微软在其官网的架构体系上推出了eShopOnContainers微服务参... 查看详情

carson带你学java:泛型知识知多少(代码片段)

目录定义意义(即为什么要使用泛型)作用及特点原理额外说明:List能否转为List?定义可理解为适配广泛的类型,即参数化类型,可以把类型像方法的参数那样进行传递。//以ArrayList为示例//泛型T可以是... 查看详情

css知多少(11)——position

1.引言  本文将用一篇文章介绍position(定位),在学习position之前,我们应该去思考一个问题:什么情况下我们需要定位?如果没有定位将无法满足我们怎样的需求?我们要知道,被人类创造出来的每一个知识,都有它的用途... 查看详情

css知多少(10)——display(转)

1.引言  网页的所有元素,除了“块”就是“流”,而且“流”都是包含在“块”里面的(最外层的body就是一个“块”)。在本系列一开始讲《浏览器默认样式》的时候,大家也都看到了浏览器默认样式中规定了html元素哪些... 查看详情

应用营销策略知多少?

作者:坚果华为云享专家,InfoQ签约作者,阿里云专家博主,51CTO博客首席体验官,开源项目GVA成员之一,专注于大前端技术的分享,包括Flutter,小程序,安卓,VUE,JavaScript。认为只有使用应用程... 查看详情

css知多少——float下篇(转)

  float内容比较多,咱们分上、下两篇来介绍,上篇已经写完,这是下篇。建议大家先把上篇看了,再来看下文,精彩内容不要掠过啊。1.清除float  《上篇》中我们提到,float具有“破坏性”,它会导致父元素“坍塌”,这... 查看详情

css知多少——选择器的优先级(转)

1.引言  上一节《css知多少(5)——选择器》最后提到,选择器类型过多将导致一些问题,是什么问题呢?咱们直接举例子说明。    上图中,css中的两个选择器都是针对<span>的,而且两个设置的颜色不一样,这里的... 查看详情

国内最火的htmlcssjavascript开源项目top榜,你知多少?

对于开发者而言,想要着手前端开发,HTML、CSS和JavaScript是三项必备的基础技能。而如何事半功倍地掌握好这些知识?通过了解当下火热的开源项目不乏为最佳学习姿势。本文盘点国内评分最高且收藏量超过100的前端技术开源项... 查看详情

css知多少——选择器(转)

1.引言  从本节开始,就进入本系列的第二个部分——css和html的结合——说白了就是选择器。  CSS中定义了样式,如何将这些样式设置到相应的html节点上?就不得不通过选择器。让浏览器知道css选择了哪一个dom节点,浏览... 查看详情

事件总线知多少

ImplementinganeventbuswithRabbitMQforthedevelopmentortestenvironmentAbpEventBus  查看详情

事件总线知多少

ImplementinganeventbuswithRabbitMQforthedevelopmentortestenvironmentAbpEventBus  查看详情

转:css知多少——我来问你来答

1.引言  各位前端或者伪前端(比如作者本人)的同志们,css对你们来说不是很陌生。比如我,在几年之前上大学的时候,给外面做网站就用css,而且必须用css。这样算下来也得六年多了,有些功能可能轻车熟路,有些功能可... 查看详情

unitofwork知多少(代码片段)

原文链接:https://www.cnblogs.com/sheng-jie/p/7416302.html1.引言Maintainsalistofobjectsaffectedbyabusinesstransactionandcoordinatesthewritingoutofchangesandtheresolutionofconcurrencyproblems.UnitofWork  查看详情