當前位置:首頁 » 編程軟體 » java編譯打包

java編譯打包

發布時間: 2022-07-06 01:20:27

java程序怎麼打包成exe

一、是用記事本寫的代碼還是在開發環境諸如eclipse或myelipse中寫的?

二、如果是用記事本,那麼需要用dos手動編譯,編譯之後就成exe可執行文件了。具體方法如下:

1、安裝JDK,可以使用綠色版免安裝的

2、配置JDK的環境變數,該步驟是為了是dos能夠利用JDK的能力。

3、使用javac編譯.java文件為.class文件,使用java命令編譯.class文件成.exe文件

這里說的都是宏觀的步驟,只要滿足這幾步就可以完成任務了,每步里更加具體的你再查查其

他資料

三、如果使用開發工具開發的,那麼就容易的多,直接在環境里編譯一下就成功了。

在elipse或者myelipse中按鈕為:project-Clean···

編譯後的文件在項目的bin目錄下,如

❷ 初學Java如何快速編譯運行打包

1.從最基本的HelloWorld開始
新建目錄C:\work作為工作目錄,創建如下子目錄C:\work\com\jayzzz\test\,並在test子目錄下創建hw.java文件。(Java語言規范說明了命名Java包的時候應當採用與其域名相反的順序命名,而Java包的命名反映到操作系統里就是目錄。)
com\jayzzz\test\hw.java 源代碼
1 public class hw {
2 public static voidmain(String[] args) {
3 System.out.println("Hello world from com.jayzzz.test.
");
4
}
5 }
編譯之前,要確保包含java、javac、jar等可執行文件的目錄(類似於X:\Java\jdk1.6.0_22\bin)在PATH路徑中。之後在命令行控制台中執行:
C:\work>javaccom\jayzzz\test\hw.java
這時,順利在目錄test下生成hw.class文件,下面執行這個文件,有2種方法:
C:\work>java-classpath com\jayzzz\test hw

C:\work\com\jayzzz\test>javahw

❸ java如何打包

建議使用ANT打包工具,下載地址:http://apache.justdn.org/ant/binaries/apache-ant-1.6.5-bin.zip

此工具用java編寫,跨平台,能實現很多功能:編譯、打包、運行、文件操作、資料庫操作、自定義任務等。

主要使用方法:在工程目錄下編寫build.xml配置文件,然後運行ant即可:
#ant

#java -jar ant.jar
下面給你提供一個例子,是jakarta-oro-2.0.8的包的build.xml
<?xml version="1.0"?>
<project default="jar">

<!-- Allow properties following these statements to be overridden -->
<!-- Note that all of these don't have to exist. They've just been defined
incase they are used. -->
<property file="build.properties"/>
<!--
<property file=".ant.properties"/>
<property file="${user.home}/.ant.properties"/>
<property file="default.properties"/>
-->

<!-- prepare target. Creates build directories. -->
<target name="splash">
<splash imageurl="./ant_logo_medium.gif"/>
</target>

<target name="prepare" depends="splash" description="Creates build directories.">
<tstamp>
<format property="DATE" pattern="yyyy-MM-dd hh:mm:ss" />
</tstamp>
<mkdir dir="${build.dest}"/>
<mkdir dir="${build.dest}/META-INF"/>
< todir="${build.dest}/META-INF">
<fileset dir="${top.dir}">
<include name="LICENSE"/>
</fileset>
</>
<mkdir dir="${build.tests}"/>
<available file="${jakarta-site2.dir}/lib" type="dir"
property="AnakiaTask.present"/>
</target>

<target name="prepare-error" depends="prepare"
description="Prints error message for prepare target."
unless="AnakiaTask.present">
<echo>
AnakiaTask is not present! Please check to make sure that
velocity.jar is in your classpath.
</echo>
</target>

<!-- lib target. Compiles the library classes only -->

<target name="lib" depends="prepare"
description="Compiles the library classes only.">
<javac srcdir="${build.src}"
destdir="${build.dest}"
excludes="examples/**,tools/**"
debug="${debug}"
deprecation="${deprecation}"
optimize="${optimize}"/>
</target>

<!-- examples target. Compiles the example classes. -->

<target name="examples" depends="prepare,lib"
description="Compiles the example classes.">
<javac srcdir="${build.src}"
destdir="${build.dest}"
includes="examples/**"
debug="${debug}"
deprecation="${deprecation}"
optimize="${optimize}"/>
</target>

<!-- tools target. Compiles the tool classes. -->

<target name="tools" depends="prepare,lib"
description="Compiles the tool classes.">
<javac srcdir="${build.src}"
destdir="${build.dest}"
includes="tools/**"
debug="${debug}"
deprecation="${deprecation}"
optimize="${optimize}"/>
</target>

<!-- tests target. Compiles and runs the unit tests. -->

<target name="tests" depends="prepare,lib"
description="Compiles and runs the unit tests.">
<javac srcdir="${build.src}/tests"
destdir="${build.tests}"
debug="${debug}"
deprecation="${deprecation}"
optimize="${optimize}"/>
</target>

<!-- jar target. Compiles the source directory and creates a .jar file -->

<target name="jar" depends="lib" description="Compiles the source directory and creates a .jar file.">
<jar jarfile="${top.dir}/${final.name}.jar"
basedir="${build.dest}"
includes="org/**,META-INF/**"
excludes="**/package.html,**/overview.html">
<manifest>
<section name="org/apache/oro">
<attribute name="Specification-Title"
value="Jakarta ORO" />
<attribute name="Specification-Version"
value="${version}" />
<attribute name="Specification-Vendor"
value="Apache Software Foundation" />
<attribute name="Implementation-Title"
value="org.apache.oro" />
<attribute name="Implementation-Version"
value="${version} ${DATE}" />
<attribute name="Implementation-Vendor"
value="Apache Software Foundation" />
</section>
</manifest>
</jar>
</target>

<!-- javadocs target. Creates the API documentation -->

<target name="javadocs" depends="prepare"
description="Creates the API documentation.">
<mkdir dir="${javadoc.destdir}"/>
<javadoc packagenames="org.apache.oro.io,org.apache.oro.text,org.apache.oro.text.regex,org.apache.oro.text.awk,org.apache.oro.text.perl,org.apache.oro.util"
sourcepath="${build.src}"
destdir="${javadoc.destdir}"
overview="${build.src}/org/apache/oro/overview.html"
author="true"
version="true"
windowtitle="${name} ${version} API"
doctitle="${name} ${version} API"
header="<a href='http://jakarta.apache.org/oro/' target=_top><img src='{@docroot}/../images/logoSmall.gif' alt='Jakarta ORO' width=48 height=47 align=center border=0 hspace=1 vspace=1></a>"
bottom="Copyright © ${year} Apache Software Foundation. All Rights Reserved.">
</javadoc>
<replace file="${javadoc.destdir}/overview-frame.html"
token="{@docroot}" value="."/>
<replace dir="${javadoc.destdir}" includes="**/*.html"
token="@version@" value="${version}"/>
</target>

<!-- docs target. Creates project web pages and documentation. -->
<target name="docs" depends="prepare-error,lib,examples"
description="Creates the project web pages and documentation."
if="AnakiaTask.present">
<taskdef name="anakia" classname="org.apache.velocity.anakia.AnakiaTask">
<classpath>
<fileset dir="${jakarta-site2.dir}/lib">
<include name="*.jar"/>
</fileset>
</classpath>
</taskdef>

<anakia basedir="${docs.src}" destdir="${docs.dest}/"
extension=".html" style="./site.vsl"
projectFile="stylesheets/project.xml"
excludes="**/stylesheets/** manual/** empty.xml"
includes="**/*.xml"
lastModifiedCheck="true"
templatePath="${jakarta-site2.dir}/xdocs/stylesheets">
</anakia>

< todir="${docs.dest}/images" filtering="no">
<fileset dir="${docs.src}/images">
<include name="**/*.gif"/>
<include name="**/*.jpeg"/>
<include name="**/*.jpg"/>
</fileset>
</>

<mkdir dir="${docs.dest}/classes"/>
<mkdir dir="${docs.dest}/classes/examples"/>
< todir="${docs.dest}/classes/examples" filtering="no">
<fileset dir="${build.dest}/examples">
<include name="MatcherDemoApplet.class"/>
</fileset>
</>
<mkdir dir="${docs.dest}/classes/org"/>
< todir="${docs.dest}/classes/org" filtering="no">
<fileset dir="${build.dest}/org">
<include name="**/*.class"/>
</fileset>
</>
</target>

<!-- package target -->

<target name="package" depends="jar,javadocs,docs"
description="Creates a distribution directory tree.">
<mkdir dir="${final.dir}"/>
< todir="${final.dir}/src">
<fileset dir="${code.src}"/>
</>
<!-- BEGIN_REMOVE_THIS -->
<!-- Remove this when there's a first draft of the manual. -->
< todir="${final.dir}/docs">
<fileset dir="${docs.dest}">
<exclude name="manual/**"/>
</fileset>
</>
<!-- END_REMOVE_THIS -->

< file="${top.dir}/build.xml" tofile="${final.dir}/build.xml"/>
< file="${top.dir}/build.properties"
tofile="${final.dir}/build.properties"/>

< file="${top.dir}/LICENSE" tofile="${final.dir}/LICENSE"/>
< file="${top.dir}/ISSUES" tofile="${final.dir}/ISSUES"/>
< file="${top.dir}/CHANGES" tofile="${final.dir}/CHANGES"/>
< file="${top.dir}/COMPILE" tofile="${final.dir}/COMPILE"/>
< file="${top.dir}/CONTRIBUTORS"
tofile="${final.dir}/CONTRIBUTORS"/>
< file="${top.dir}/README" tofile="${final.dir}/README"/>
< file="${top.dir}/STYLE" tofile="${final.dir}/STYLE"/>
< file="${top.dir}/TODO" tofile="${final.dir}/TODO"/>
< file="${top.dir}/${final.name}.jar" tofile="${final.dir}/${final.name}.jar"/>
</target>

<!-- package-zip target. Packages the distribution with ZIP -->

<target name="package-zip" depends="package"
description="Packages the distribution as a zip file.">
<zip zipfile="${top.dir}/${final.name}.zip" basedir="${top.dir}/"
includes="**/${final.name}/**" excludes="**/.cvsignore"/>
</target>

<!-- Packages the distribution with TAR-GZIP -->

<target name="package-tgz" depends="package"
description="Packages the distribution as a gzipped tar file.">
<tar tarfile="${top.dir}/${final.name}.tar"
basedir="${top.dir}" excludes="**/**">
<tarfileset dir="${final.dir}/..">
<include name="${final.name}/**"/>
<exclude name="**/.cvsignore"/>
</tarfileset>
</tar>
<gzip zipfile="${top.dir}/${project}-${version}.tar.gz" src="${top.dir}/${project}-${version}.tar"/>
</target>

<!-- Packages the distribution with ZIP and TAG-GZIP -->

<target name="package-all" depends="package-zip, package-tgz">
</target>

<!-- Makes an attempt to clean up a little. -->

<target name="clean"
description="Removes generated artifacts from source tree.">
<delete dir="${build.dest}"/>
<delete dir="${javadoc.destdir}"/>
<delete dir="${final.dir}"/>
<delete file="${top.dir}/${final.name}.jar"/>
<delete file="${top.dir}/${final.name}.tar"/>
<delete file="${top.dir}/${final.name}.tar.gz"/>
<delete file="${top.dir}/${final.name}.zip"/>
<delete>
<fileset dir="${top.dir}" includes="velocity.log*"/>
</delete>

</target>
</project>

build.xml文件的編寫可參見ant發行版中的使用文檔

你也可以自己編寫腳本打包,使用jdk發行版中的jar命令,例如:
#jar cmf myManifestFile myFile.jar *.class
注意還需要自己編寫MANIFEST.MF文件配置包屬性。具體可以參見javadoc

當然還可以使用集成開發環境提供的打包工具,如JBuilder提供打包工具,但這樣程序的移植性不強,建議不要使用,就使用ant比較好。

❹ Inno Setup 編譯器」如何打包 javaWeb 應用程序,自動設置環境變數

在[Files]段下,添加下面代碼
Source: "執行文件.exe"; DestDir: "{app}"; Flags: igNoreversion
Source: "要打包的目錄\*"; DestDir: "{app}\安裝後釋放文件的目錄\"; Flags: igNoreversion recursesubdirs createallsubdirs

❺ java 編譯後 為什麼 打包

這是因為你的程序用到了包(Package),你注意生成的Test.class文件已經被編譯到當前目錄的org/test/子目錄下。
因此
你的javac -d . Test.java是對的,
但運行命令應該改成:
java org.test.Test
這樣就能運行了。

❻ 使用python腳本對java文件進行編譯打包發布,這個腳本如何寫

使用python執行命令行編譯打包,類似這樣
import os
os.system("javac -d classes src/*.java src/inner/*.java" )

只要你知道怎麼用命令行編譯打包,那麼就可以調用python的os模塊的system進行編譯打包。
os.system(),os.popen() 都可以

❼ java怎麼打包,我用eclipse編譯好後怎麼打包成可執行的文件

Select an export destination ,就是指明要導出的文件的類型以及名稱。最後一步有一個選項(好像在最下面)Select the class of the application entry point,就是要選一個有main函數的類。一般存成jar文件,導出的jar文件包含原有的類以及包,同時還有一個配置文件META—INF,是一個文件,是eclipse自動生成的,就是指明main函數所在的類,也就是生成的jar文件的程序入口。運行時,電腦上需要安裝好java環境,否則沒法運行

❽ JAVA裡面如何打包

通常有兩種,一種是製作一個可執行的 JAR 文件包,然後就可以像.chm 文檔一樣雙擊運行了;而另一種是使用 JET 來進行
編譯。但是 JET 是要用錢買的,而且據說 JET 也不是能把所有的 Java 程序都編譯成執行文件,性能也要打些折扣。所以,使用製作可執行 JAR 文件包的方法就是最佳選擇了,何況它還能保持 Java 的跨平台特性。

下面就來看看什麼是 JAR 文件包吧:

1. JAR 文件包

JAR 文件就是 Java Archive File,顧名思意,它的應用是與 Java 息息相關的,是 Java 的一種文檔格式。JAR 文件非常類似 ZIP 文件——准確的說,它就是 ZIP 文件,所以叫它文件包。JAR 文件與 ZIP 文件唯一的區別就是在 JAR 文件的內容中,包含了一個 META-INF/MANIFEST.MF 文件,這個文件是在生成 JAR 文件的時候自動創建的。舉個例子,如果我們具有如下目錄結構的一些文件:

==

`-- test

`-- Test.class

把它壓縮成 ZIP 文件 test.zip,則這個 ZIP 文件的內部目錄結構為:

test.zip

`-- test

`-- Test.class

如果我們使用 JDK 的 jar 命令把它打成 JAR 文件包 test.jar,則這個 JAR 文件的內部目錄結構為:

test.jar

|-- META-INF

| `-- MANIFEST.MF

`-- test

`--Test.class

2. 創建可執行的 JAR 文件包

製作一個可執行的 JAR 文件包來發布你的程序是 JAR 文件包最典型的用法。

Java 程序是由若干個 .class 文件組成的。這些 .class 文件必須根據它們所屬的包不同而分級分目錄存放;運行前需要把所有用到的包的根目錄指定給 CLASSPATH 環境變數或者 java 命令的 -cp 參數;運行時還要到控制台下去使用 java 命令來運行,如果需要直接雙擊運行必須寫 Windows 的批處理文件 (.bat) 或者 Linux 的 Shell 程序。因此,許多人說,Java 是一種方便開發者苦了用戶的程序設計語言。

其實不然,如果開發者能夠製作一個可執行的 JAR 文件包交給用戶,那麼用戶使用起來就方便了。在 Windows 下安裝 JRE (Java Runtime Environment) 的時候,安裝文件會將 .jar 文件映射給 javaw.exe 打開。那麼,對於一個可執行的 JAR 文件包,用戶只需要雙擊它就可以運行程序了,和閱讀 .chm 文檔一樣方便 (.chm 文檔默認是由 hh.exe 打開的)。那麼,現在的關鍵,就是如何來創建這個可執行的 JAR 文件包。

創建可執行的 JAR 文件包,需要使用帶 cvfm 參數的 jar 命令,同樣以上述 test 目錄為例,命令如下:

jar cvfm test.jar manifest.mf test

這里 test.jar 和 manifest.mf 兩個文件,分別是對應的參數 f 和 m,其重頭戲在 manifest.mf。因為要創建可執行的 JAR 文件包,光靠指定一個 manifest.mf 文件是不夠的,因為 MANIFEST 是 JAR 文件包的特徵,可執行的 JAR 文件包和不可執行的 JAR 文件包都包含 MANIFEST。關鍵在於可執行 JAR 文件包的 MANIFEST,其內容包含了 Main-Class 一項。這在 MANIFEST 中書寫格式如下:

Main-Class: 可執行主類全名(包含包名)

例如,假設上例中的 Test.class 是屬於 test 包的,而且是可執行的類 (定義了 public static void main(String[]) 方法),那麼這個 manifest.mf 可以編輯如下:

Main-Class: test.Test <回車>

這個 manifest.mf 可以放在任何位置,也可以是其它的文件名,只需要有 Main-Class: test.Test 一行,且該行以一個回車符結束即可。創建了 manifest.mf 文件之後,我們的目錄結構變為:

==

|-- test

| `-- Test.class

`-- manifest.mf

這時候,需要到 test 目錄的上級目錄中去使用 jar 命令來創建 JAR 文件包。也就是在目錄樹中使用「==」表示的那個目錄中,使用如下命令:

jar cvfm test.jar manifest.mf test

之後在「==」目錄中創建了 test.jar,這個 test.jar 就是執行的 JAR 文件包。運行時只需要使用 java -jar test.jar 命令即可。

需要注意的是,創建的 JAR 文件包中需要包含完整的、與 Java 程序的包結構對應的目錄結構,就像上例一樣。而 Main-Class 指定的類,也必須是完整的、包含包路徑的類名,如上例的 test.Test;而且在沒有打成 JAR 文件包之前可以使用 java <類名> 來運行這個類,即在上例中 java test.Test 是可以正確運行的 (當然要在 CLASSPATH 正確的情況下)。

❾ Java的jar包互相引用需要重新編譯打包

反編譯出來的JAVA文件重新編譯的過程如下:
1、新建一個myeclipse的web project。
2、右鍵該工程,myeclipse/add struts capability,設置成struts開發環境。
3、將war包解壓,全目錄覆蓋新工程的WebRoot(包括其中的web-inf/meta-inf目錄),相應的scr目錄(或者對應的包含java文件的目錄)覆蓋eclipse的src目錄。myeclipse會自動將WEB-INF\lib下的jar包作為放到classpath中的。
4、refresh該工程,over。
不過大部分反編譯過來的工程,很難重新編譯,因為import引用的jar包或者類名沒有的話,工程直接報錯。

❿ Java程序中為什麼要打包啊

一般分為jar包和war包
源碼編譯後的war包一般是用來部署到伺服器上 讓容器運行起來,成為一個成型的項目。
源碼編譯後的jar包一般是用來為其他編碼服務,項目中,引入jar包就可以直接調用別人寫好的各種方法,例如jdk中你就可以找到很多jar包,用360壓縮(或其他)打開你可以看到其實都是.calss類,是源碼編譯後的文件。

熱點內容
ipad有哪些好用的c語言編譯器 發布:2024-05-19 08:41:56 瀏覽:766
征途手游版腳本 發布:2024-05-19 08:38:11 瀏覽:164
安卓咪咕音樂怎麼錄制視頻 發布:2024-05-19 07:56:06 瀏覽:838
如何搞出超大聲的聽聲辨位安卓版 發布:2024-05-19 07:46:21 瀏覽:927
linux安全模式 發布:2024-05-19 07:27:25 瀏覽:176
為什麼安卓手機安裝不了cpk 發布:2024-05-19 07:22:21 瀏覽:313
pythonempty 發布:2024-05-19 07:15:16 瀏覽:930
路由器虛擬伺服器搭建 發布:2024-05-19 07:15:15 瀏覽:999
方舟編譯器何時推送 發布:2024-05-19 07:15:10 瀏覽:599
魔獸世界自動釣魚腳本 發布:2024-05-19 06:43:07 瀏覽:496