作为6年经验的程序员,一直在搞web服务应用开发,今天领导被吐槽了,只会web方面的东东,最基本的打包啥啥都不会。。

一般开发工程都是web项目,突然要求开发非web,不用tomcat装(浪费端口号),脑子里其实第一反应就是打jar包。

废话不多说:整体思路,ant 打jar,注意,此处依赖的lib和config不要打进来,当然如果作为公共组件啥的可以打成一个jar。

Linux:

${JAVA_HOME}/bin/java  -Xms256M  -Xmx512M -cp .:./lib/*:./config/*:jarProj.jar  com.gcc.Application

windows:中上面的冒号变成分毫:

${JAVA_HOME}/bin/java  -Xms256M  -Xmx512M -cp .;./lib/*;./config/*;jarProj.jar  com.gcc.Application

工程目录:

启动入口:

package com.gcc;

import org.apache.log4j.PropertyConfigurator;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import java.io.IOException;
import java.io.InputStream;
import java.util.Properties; public class Application { private static final Logger LOGGER = LoggerFactory.getLogger(Application.class); public static void main(String[] args) throws IOException {
InputStream in = Thread.currentThread().getContextClassLoader().getResourceAsStream("config/log4j.properties");
PropertyConfigurator.configure(in); /* Properties p = new Properties();
p.load(in);*/ LOGGER.debug("haha {} ,xiao zi ...","debug");
LOGGER.info("haha {} ,xiao zi ...","info");
LOGGER.error("haha {} ,xiao zi ...","error");
}
}

然后可以用ant打jar包,注意:不用把配置和依赖jar打进jar。配置和jar包,可以放再外面的config和lib包,写个思路吧。。。累

-------------------------------

通过idea打包可运行jar(第三方jar外部引用版)

extract to the target JAR是将第三方jar打入最终jar包。这里是外部引用,所以不勾选。

<output root> Create Directory>libs

最后Class path ,注意lib要删除。

查看MANIFEST.MF文件

Manifest-Version: 1.0
Class-Path: libs/log4j-1.2.17.jar libs/slf4j-api-1.7.2.jar libs/slf4j-
log4j12-1.7.2.jar
Main-Class: com.gcc.Application build后,在windows本地运行下:前一个是libs不放第三方jar

-------------------------------------

顺便把可执行jar,外部jar打进最终jar也实验下。

运行结果


最新文章

  1. 深入理解Java:类加载机制及反射
  2. php 运行脚本shell
  3. CLR via C#(06)- 构造器
  4. oracle ORA-00001:违反唯一约束条件
  5. [原创]spring学习笔记:关于springsource-tool-suite插件的安装
  6. C# 加密算法
  7. Ubuntu安装提示Permission Denied
  8. DevExpress Util HelpV3
  9. 深入理解viewport
  10. qt 视频播放器错误解决方法
  11. matplotlib 中的柱状图
  12. leetcode — maximum-depth-of-binary-tree
  13. JSON 数据转换
  14. Kruskal || BZOJ 1601: [Usaco2008 Oct]灌水 || Luogu P1550 [USACO08OCT]打井Watering Hole
  15. Struts2中类数据封装的方式
  16. NET Core小细节杂记
  17. OneAPM大讲堂 | Metrics, Tracing 和 Logging 的关系
  18. [UE4]解决角色影子的问题
  19. 让WordPress支持google AMP
  20. 【BZOJ4872】【Shoi2017】分手是祝愿

热门文章

  1. J.U.C|一文搞懂AQS(转)
  2. 剑指offer-对称二叉树-树-python
  3. asp.net Excel导入和导出
  4. oracle数据库ID自增长--序列
  5. BrokenPipeError: [Errno 32] Broken pipe
  6. background的水平条纹和斜向条纹
  7. Linux服务器安装系统之1-LSI阵列卡raid5配置方法
  8. IDEA开发初始化设置
  9. bzoj4129 Haruna’s Breakfast 树上带修莫队+分块
  10. css多种方式实现双飞翼布局