linux下编译java工程问题

Arthur_ 2010-05-24 02:01:47
帮朋友问个问题:


项目后期遇到了个问题:
之前编译环境是在window上, 使用myelicps编译好后 打包放到设备上.

现在需要将编译打包过程在linux平台上自动化, 也就是说需要在linux上(命令行模式)完成自动编译.

如何做呢?


再线等.
...全文
523 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
mlkimg 2011-02-10
  • 打赏
  • 举报
回复
回复现型
Arthur_ 2010-06-01
  • 打赏
  • 举报
回复
dfddd
Arthur_ 2010-06-01
  • 打赏
  • 举报
回复
ddd
Arthur_ 2010-06-01
  • 打赏
  • 举报
回复
xuexi
zhang2010525 2010-05-26
  • 打赏
  • 举报
回复
路过学习ing
jokerdx 2010-05-26
  • 打赏
  • 举报
回复
帮顶~~~~~~~~~~~~~~~
justwalking 2010-05-26
  • 打赏
  • 举报
回复
ant,maven
mars_feiji 2010-05-25
  • 打赏
  • 举报
回复
顶一个,Java编译环境不算复杂了,C++更难
Arthur_ 2010-05-24
  • 打赏
  • 举报
回复
:) java的编译环境真复杂啊.

谢谢两位提示. 有没有傻瓜的安装方法呢?
zhuxibang 2010-05-24
  • 打赏
  • 举报
回复
用ant做,与平台无关,到官网上下个ant的包,配置下ANT_HOME,具体的配置过程比较复杂,估计你得研究几天,在windows下研究成功后,把脚本弄到linux上一样执行,大概语法如下:
<?xml version="1.0"?>
<project name="Webapp Precompilation" default="all" basedir=".">
<property file="build.properties" />
<import file="${tomcat.bin}/catalina-tasks.xml" />

<path id="project.classpath">
<fileset dir="${project.lib}">
<include name="**/*.jar" />
</fileset>
<fileset dir="${project.web}/WEB-INF/lib">
<include name="**/*.jar" />
</fileset>
<pathelement location="" />
</path>

<path id="tomcat.classpath">
<fileset dir="${tomcat.lib}">
<include name="**/*.jar" />
</fileset>
<fileset dir="${tomcat.bin}">
<include name="**/*.jar" />
</fileset>
<pathelement location="" />
</path>

<target name="init">
<mkdir dir="${project.dir}" />
<mkdir dir="${basedir}/app" />
<mkdir dir="${project.classes}" />
<mkdir dir="${project.src}" />
</target>

<target name="clean">
<delete dir="${project.dir}" failonerror="off" />
<delete dir="${basedir}/app" failonerror="off" />
</target>

<!-- cvs login-->
<target name="login" description="cvs login">
<echo message="start login cvs" />
<cvspass cvsroot="${cvs.root}" password="${cvs.password}" passfile="${cvs.passfile}" />
</target>

<!-- project checkout-->
<target name="checkout" description="project checkout" depends="login">
<echo message="start checkout project" />
<cvs cvsRoot="${cvs.root}" command="checkout" cvsrsh="ssh" package="${cvs.project.path}/src" dest="." passfile="${cvs.passfile}" />
<cvs cvsRoot="${cvs.root}" command="checkout" cvsrsh="ssh" package="${cvs.project.path}/WebRoot" dest="." passfile="${cvs.passfile}" />
<echo message="end checkout project" />
</target>

<!-- java source compile-->
<target name="compile" description="compile java source">
<javac srcdir="${project.src}" destdir="${project.classes}" includeAntRuntime="yes" encoding="UTF-8" source="${java.source}" target="${java.target}" fork="yes" memoryInitialSize="128m" memoryMaximumSize="512m">
<classpath refid="project.classpath" />
<include name="**/*.java" />
</javac>

<copy todir="${project.classes}">
<fileset dir="${project.src}" excludes="**/*.java" />
</copy>

</target>

<!-- jsp compile -->
<target name="jspc" description="precompile jsp">
<echo message="start jsp to java" />
<jasper2 javaencoding="gbk" validateXml="false" uriroot="${project.web}" webXmlFragment="${project.web}/WEB-INF/generated_web.xml" outputDir="${project.classes}" addwebxmlmappings="true" />
<echo message="end jsp to java" />

<echo message="start compile jsp" />
<javac destdir="${project.classes}" optimize="off" debug="on" failonerror="false" srcdir="${project.classes}" excludes="**/*.smap">
<classpath>
<path refid="project.classpath">
</path>
<path refid="tomcat.classpath">
</path>
<pathelement location="${project.classes}" />
</classpath>
<include name="**/*.java" />
</javac>
<echo message="end compile jsp" />
</target>
<!--
<target name="build">
<copy todir="${webapp.dir}" includeemptydirs="flase">
<fileset dir="${project.web}" excludes="**/*.java,**/*.jsp">
</fileset>
</copy>

<copy todir="${project.web}/WEB-INF">
<fileset dir="${project.lib}" excludes="javaee.jar">
</fileset>
</copy>

</target>
-->
<target name="package">
<jar jarfile="app/${project.name}.war">
<manifest>
<attribute name="Built-By" value="zz" />
<!--<attribute name="Class-Path" value="${manifest.classpath}" />-->
</manifest>
<fileset dir="${project.web}">
<include name="**/*" />
<exclude name="**/*.jsp" />
<exclude name="**/*.java" />
</fileset>
</jar>
</target>

<target name="all" depends="clean,init,login,checkout,compile,jspc">
</target>

</project>
具体里面的意思一时半会说不清楚,大概给你说个方向,具体的实现细节到网上查去吧,资料都非常完备
霜之哀伤 2010-05-24
  • 打赏
  • 举报
回复
可以用ant,maven等工具,具体的请Google之~

58,452

社区成员

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

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