Dav*_*ron 97
<target name="default" depends="setup,compile,buildwar,deploy"></target>
Run Code Online (Sandbox Code Playgroud)
然后,您可以在Eclipse中执行一次单击以运行该Ant目标.以下是每个步骤的示例:
我们假设您的代码组织如下:
${basedir}/src:Java文件,属性,XML配置文件${basedir}/web:您的JSP文件${basedir}/web/lib:运行时需要的任何JAR${basedir}/web/META-INF:你的清单${basedir}/web/WEB-INF:您的web.xml文件定义setup创建分发目录的任务,并复制需要直接进行WARred的所有工件:
<target name="setup">
<mkdir dir="dist" />
<echo>Copying web into dist</echo>
<copydir dest="dist/web" src="web" />
<copydir dest="dist/web/WEB-INF/lib" src="${basedir}/../web/WEB-INF/lib" />
</target>
Run Code Online (Sandbox Code Playgroud)
将Java文件构建到类中并复制驻留在src但需要在运行时可用的任何非Java工件(例如,属性,XML文件等):
<target name="compile">
<delete dir="${dist.dir}/web/WEB-INF/classes" />
<mkdir dir="${dist.dir}/web/WEB-INF/classes" />
<javac destdir="${dist.dir}/web/WEB-INF/classes" srcdir="src">
<classpath>
<fileset dir="${basedir}/../web/WEB-INF/lib">
<include name="*" />
</fileset>
</classpath>
</javac>
<copy todir="${dist.dir}/web/WEB-INF/classes">
<fileset dir="src">
<include name="**/*.properties" />
<include name="**/*.xml" />
</fileset>
</copy>
</target>
Run Code Online (Sandbox Code Playgroud)
创建WAR本身:
<target name="buildwar">
<war basedir="${basedir}/dist/web" destfile="My.war"
webxml="${basedir}/dist/web/WEB-INF/web.xml">
<exclude name="WEB-INF/**" />
<webinf dir="${basedir}/dist/web/WEB-INF/">
<include name="**/*.jar" />
</webinf>
</war>
</target>
Run Code Online (Sandbox Code Playgroud)
最后,您可以设置任务以将WAR直接部署到Tomcat部署位置:
<target name="deploy">
<copy file="My.war" todir="${tomcat.deploydir}" />
</target>
Run Code Online (Sandbox Code Playgroud)
完成所有这些后,只需default从Eclipse 启动目标即可编译,WAR和部署您的解决方案.
这种方法的优点是,它会的Eclipse在Eclipse之外以及工作,并可以用来轻松共享部署策略(例如,通过源头控制)与其他开发者谁也致力于您的项目.
Mec*_*are 37
我总是选择从Eclipse导出.它构建war文件并包含所有必需的文件.提供您创建项目作为Web项目,您只需要做.Eclipse使得它非常简单.
mik*_*kek 23
我们使用Maven(Ant的大哥哥)来完成我们所有的java项目,并且它有一个非常漂亮的WAR插件.可以在那里找到教程和用法.
它比Ant容易得多,与Eclipse完全兼容(使用maven eclipse:eclipse创建Eclipse项目)并且易于配置.
示例配置:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1-alpha-2</version>
<configuration>
<outputDirectory>${project.build.directory}/tmp/</outputDirectory>
<workDirectory>${project.build.directory}/tmp/war/work</workDirectory>
<webappDirectory>${project.build.webappDirectory}</webappDirectory>
<cacheFile>${project.build.directory}/tmp/war/work/webapp-cache.xml</cacheFile>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>pdf</nonFilteredFileExtension>
<nonFilteredFileExtension>png</nonFilteredFileExtension>
<nonFilteredFileExtension>gif</nonFilteredFileExtension>
<nonFilteredFileExtension>jsp</nonFilteredFileExtension>
</nonFilteredFileExtensions>
<webResources>
<resource>
<directory>src/main/webapp/</directory>
<targetPath>WEB-INF</targetPath>
<filtering>true</filtering>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</webResources>
<warName>Application</warName>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
box*_*ats 14
war文件只是一个带有war扩展名的jar文件,但它的工作原理是内容的实际结构.
J2EE/Java EE教程可以是一个开始:
http://java.sun.com/j2ee/tutorial/1_3-fcs/doc/WebComponents3.html
Servlet规范包含血腥细节:
http://java.sun.com/products/servlet/download.html
如果您在Eclipse中创建一个新的Web项目(我指的是Java EE版本),则会为您创建结构,您也可以告诉它您的Appserver安装位置,它将为您部署和启动应用程序.
使用"导出 - > WAR文件"选项可以保存war文件.
Pab*_*jim 12
如果您不确定该怎么做并且从头开始,那么Maven可以帮助您入门.
按照以下步骤,您可以在eclipse中完美地设置新的战争项目.
mvn archetype:generatemvn eclipse:eclipsemvn package在eclipse中设置服务器来运行或部署它来创建战争本身,只需添加将项目添加到服务器即可.正如其他一些人所说,使用maven的缺点是你必须使用maven约定.但我想如果你刚刚开始,在你开始自己制作之前学习惯例是一个好主意.没有什么可以阻止你在以后改变/重构你自己喜欢的方法.
希望这可以帮助.
在 WEB-INF 文件夹外部使用以下命令。这应该会创建您的 war 文件,并且是我所知道的最快的方法。
(您需要安装 JDK 1.7+ 以及指向 JDK 的 bin 目录的环境变量。)
jar -cvf projectname.war *
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
166428 次 |
| 最近记录: |