Java 怎么生成双击可以直接运行的程序啊

贪睡的兔子 2010-05-18 12:28:16
Java 怎么生成双击可以直接运行的程序啊
...全文
389 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
清峰 2010-05-19
  • 打赏
  • 举报
回复
eclipse可以打成jar包,然后就可以直接双击运行了
yizhimayi 2010-05-19
  • 打赏
  • 举报
回复
生成 .jar 文件
小灰狼 2010-05-19
  • 打赏
  • 举报
回复
楼主干嘛要做成双击运行的程序
werosh 2010-05-19
  • 打赏
  • 举报
回复
打成jar包吧,就算你打成exe,运行的时候一样是由exe解成jar包运行。可以用ant自动打包,每次要打包的时候运行下ant的xml文件就成了,给你发给ant的例子:
<?xml version="1.0" encoding="GBk"?>

<project name="project" default="init" basedir=".">

<property name="project_name" value="mnzx" description="工程名"/>
<property name="srcDir" value="${basedir}" description="java资源包"/>
<property name="classDir" value="${basedir}/classes" description="编译的class存放路径"/>
<property name="buildDir" value="${basedir}/build" description="生成jar文件的路径"/>
<property name="libDir" value="${basedir}/build/" description="库文件的路径"/>
<property name="jar" value="${buildDir}/${project_name}_no_obf.jar" description="jar文件路径"/>
<property name="obfjar" value="${buildDir}/${project_name}/${project_name}.jar" description="混淆jar文件路径"/>
<property name="obfuscationlog" value="${classDir}/${project_name}_obf_log.xml" description="混淆jar文件日志路径"/>
<property name="resourceDir" value="${buildDir}/${project_name}/resource" description="资源文件存放路径"/>
<property name="mnzxDir" value="${buildDir}/${project_name}" description="打包后的完整程序存放路径"/>

<property name="Manifest" value="${buildDir}/MANIFEST.MF" description="清单文件路径"/>
<property name="CreatedBy" value="SYTZ" description="创建者"/>
<property name="MainClass" value="TzJtMnZx.TzMainCL" description="主类"/>


<!-- 设置Ant任务的初始化工作 -->
<target name="init" depends="obfuscate" description="设置Ant任务的初始化工作">

<mkdir dir="${resourceDir}" />
<copy todir="${resourceDir}" >
<fileset dir="${basedir}/resource">
</fileset>
</copy>

<copy todir="${mnzxDir}" >
<fileset dir="${basedir}/resource/bat">
</fileset>
</copy>

<delete dir="${classDir}" includeEmptyDirs="true" />
<delete file="${Manifest}" />

</target>

<!-- 清理垃圾 建立目录 -->
<target name="build" description="清理垃圾 建立目录">

<delete dir="${classDir}" includeEmptyDirs="true" />
<mkdir dir="${classDir}" />
<delete dir="${buildDir}" includeEmptyDirs="true" />
<mkdir dir="${buildDir}" />
<mkdir dir="${mnzxDir}" />

</target>

<!-- 编译 -->
<target name="compile" depends="build" description="编译">

<javac srcdir="${srcDir}" destdir="${classDir}">
<classpath refid="master-classpath"/>
</javac>
<delete dir="${classDir}\dog" includeEmptyDirs="true" />
</target>

<!-- 创建清单文件 -->
<target name="Manifest" description="创建清单文件">

<manifest file="${Manifest}">
<attribute name="Main-Class" value="${MainClass}" />
<attribute name="Created-By" value="${CreatedBy}" />
<!--attribute name="Class-Path" value="resource/library/j3dcore.jar
resource/library/j3dutils.jar
resource/library/Loader3DS1_2.jar
resource/library/swingcalendar.jar
resource/library/jdom.jar"/--> <!-- 库文件的系统路径 -->

</manifest>

</target>

<!-- 库文件路径清单 -->
<path id="master-classpath" description="库文件路径清单">

<fileset dir="${basedir}" id="project_lib">
<include name="j3dcore.jar"/>
<include name="j3dutils.jar"/>
<include name="Loader3DS1_2.jar"/>
<include name="swingcalendar.jar"/>
<include name="jdom.jar"/>
<!--include name="yguard.jar"/-->
</fileset>

</path>

<!-- 打包 -->
<target name="jar" depends="compile,Manifest" description="打包">

<!--copy todir="${buildDir}">

<fileset refid="project_lib"/>

</copy-->

<jar jarfile="${jar}" basedir="${classDir}" manifest="${Manifest}">

</jar>


</target>

<!-- 混淆 -->
<target name="obfuscate" depends="jar" description="混淆">

<taskdef name="yguard" classname="com.yworks.yguard.YGuardTask" classpath="yguard.jar"/>

<yguard>

<inoutpair in="${jar}" out="${obfjar}"/>

<rename mainclass="${MainClass}" replaceClassNameStrings="true" logfile="${obfuscationlog}">

<keep>

<!--package>
<patternset>
<include name="javax.*"/>
<include name="org.*"/>
<include name="com.*"/>
<include name="sz.*"/>
</patternset>
</package-->
<!--class>
<patternset>

<include name="dog."/>

</patternset>
</class-->

</keep>

</rename>
</yguard>
</target>

</project>

yuchui 2010-05-19
  • 打赏
  • 举报
回复
建一个目录,作为打包的目录,比如ring目录,在这个目录里建一个java的目录,把jre目录下的bin和lib复制到该目录,然后在ring目录下再新建一个lib的目录,把你的项目用到的jar和你自己写的jar都放到该目录,下面在ring目录下建二个bat文件

第一个命名为setenv.bat,文件的内容是:

set cp=%cp%;%1

第二个bat文件,名字可以随便起,到时候运行项目只要运行这个bat就可以了,内容是:

@echo off
set cp=
for %%i in (".\lib\*.jar") do call setenv.bat %%i
for %%i in (".\jre\lib\*.jar") do call setenv.bat %%i

rem 这一行最后是你的项目的启动类
start .\java\bin\java -classpath %cp% ringpro.Frame1
ok,大功告成,呵呵
xccyg 2010-05-19
  • 打赏
  • 举报
回复
楼主可以分两步做,我自己也是这样弄的。
第一步:可以先下载一个net.sf.fjep.fatjar_0.0.25包,解压后放到eclipse的plugins目录下,然后重启eclipse,这个时候你右击工程的时候,就会出现一个绿色的“+”的符号,点那个就可打成jar包了。
第二步:下载一个叫做exe4j的软件,具体用法可以百度一下,按提示往下操作就可以生成.exe文件了。
liujun3512159 2010-05-18
  • 打赏
  • 举报
回复
可以的,要打包吧,需要写一个main()函数吧
  • 打赏
  • 举报
回复
这个问题也成了 Java 版的月经帖!
NASa_CJ 2010-05-18
  • 打赏
  • 举报
回复
Eclipse里装个fatjar插件,用起来很简单。
NONE9 2010-05-18
  • 打赏
  • 举报
回复
还是用jar比较好,可以在不同的操作系统运行,打成exe就只能在windows运行了。。
贪睡的兔子 2010-05-18
  • 打赏
  • 举报
回复
具体怎么弄啊 ,打包成jar我会,要不要用IDE工具的啊,直接在JDK下怎么弄呀
[Quote=引用 1 楼 nasa_cj 的回复:]
jar,或者通过exe4j来生成.exe程序。
[/Quote]
NASa_CJ 2010-05-18
  • 打赏
  • 举报
回复
jar,或者通过exe4j来生成.exe程序。
jeffyyko 2010-05-18
  • 打赏
  • 举报
回复
貌似答案很多。。。。

晕了。
狂想者 2010-05-18
  • 打赏
  • 举报
回复
就是打包成jar............
@井九 2010-05-18
  • 打赏
  • 举报
回复
导出jar,加Manifest,设mainclass
或者exe4j
csupanmin 2010-05-18
  • 打赏
  • 举报
回复
导成jar文件
lemon520 2010-05-18
  • 打赏
  • 举报
回复
写个批处理程序,参考tomcat的startup.bat
zuoguodang 2010-05-18
  • 打赏
  • 举报
回复
打成jar包就行了,用eclipse导出成可运行的jar包
c15852462458 2010-05-18
  • 打赏
  • 举报
回复
别弄成exe文件了,也使弄成exe文件也需要装有jre运行环境
除非弄成安装程序,在安装的时候在电脑上装一个小型的jre运行环境,这样即使一个小程序也要做成蛮大的安装程序
奔跑哥 2010-05-18
  • 打赏
  • 举报
回复
看我这篇文章,http://blog.csdn.net/zhtsuc/archive/2010/03/20/5400013.aspx

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧