在Netbeans里面新建一个Java project, 然后把Jetty 6的源码加进来,添加一些必要的依赖包,添加ant脚本,开启调试。
1. 新建一个Java project, 加入Jetty 6 source package
你可以从这个url拿到源码包:
http://dist.codehaus.org/jetty/jetty-6.1.26/jetty-6.1.26-src.zip
2. 添加编译jetty时必须的依赖包:
servlet-api-2.5-20081211.jar
slf4j-api-1.3.1.jar
3. 添加配置文件:
etc/jetty.xml
etc/webdefault.xml
realm.properties
4. 配置Netbeans脚本:
<project xmlns="http://www.netbeans.org/ns/project/1">
<type>org.netbeans.modules.ant.freeform</type>
<configuration>
<!-- Either of the below two is applicable -->
<!--<general-data xmlns="http://www.netbeans.org/ns/freeform-project/1">-->
<general-data xmlns="http://www.netbeans.org/ns/freeform-project/2">
<name>jetty</name>
<properties>
<property name="ant.script">nbproject/targets.xml</property>
<property name="jetty.script">build/jetty-build.xml</property>
</properties>
<folders>
<source-folder>
<label>jetty</label>
<location>.</location>
<encoding>windows-1252</encoding>
</source-folder>
<source-folder>
<label>Java Sources</label>
<type>java</type>
<location>src</location>
<encoding>windows-1252</encoding>
</source-folder>
</folders>
<ide-actions>
<action name="build">
<script>${jetty.script}</script>
<target>nbbuild</target>
</action>
<action name="clean">
<script>${jetty.script}</script>
<target>clean</target>
</action>
<action name="run">
<script>${jetty.script}</script>
<target>nbrun</target>
</action>
<action name="debug">
<script>${jetty.script}</script>
<target>nbdebug</target>
</action>
</ide-actions>
<view>
<items>
<source-folder style="tree">
<label>Web folder</label>
<location>webapps</location>
</source-folder>
<source-folder style="tree">
<label>Jetty configs</label>
<location>webapps/WEB-INF/etc</location>
</source-folder>
<source-folder style="packages">
<label>Java src</label>
<location>src</location>
</source-folder>
</items>
<context-menu>
<ide-action name="build"/>
<ide-action name="clean"/>
<ide-action name="javadoc"/>
<ide-action name="run"/>
<ide-action name="test"/>
<ide-action name="debug"/>
</context-menu>
</view>
</general-data>
<java-data xmlns="http://www.netbeans.org/ns/freeform-project-java/3">
<compilation-unit>
<package-root>src</package-root>
<classpath mode="compile"></classpath>
<built-to>classes</built-to>
<javadoc-built-to>doc</javadoc-built-to>
<source-level>1.6</source-level>
</compilation-unit>
</java-data>
</configuration>
</project>
5. 添加jetty脚本
每次compile时候,会根据更改情况,生成新的classes。这些classes会被jar(update)到jetty-6.1.26.jar。启动IDE的debugger,然后启动jetty6,并把jetty6附加到debugger上,这样可以调试代码的运行
a. build脚本
javac.source=1.6
javac.target=1.6
JAVAC_EXE=
srcDir=source directory
outDir=output directory
<target name="nbbuild" depends="configProperties">
<javac source="${javac.source}" target="${javac.target}"
executable="${JAVAC_EXE}" fork="yes" destdir="${outDir}"
classpath="${outDir}" classpathref="libraries"
optimize="off" verbose="off" debug="on"
memoryInitialSize="512M" memoryMaximumSize="768M">
<src path="${srcDir}"/>
<include name="**/*.java"/>
</javac>
<jar update="true" compress="true" jarfile="${jettyOutDir}\\lib\\jetty-6.1.26.jar">
<manifest>
<attribute name="Build-Date" value="${build.time}"/>
<attribute name="Build-User" value="${user.name}"/>
<attribute name="Build-File" value="${ant.file}"/>
<attribute name="Build-Location" value="${prefix}"/>
<attribute name="Build-Platform" value="${os.name} ${os.version}(${os.arch})"/>
<attribute name="Specification-Title" value="${java.specification.name}"/>
<attribute name="Specification-Vendor" value="${java.vendor}"/>
<attribute name="Specification-Version" value="${java.version}"/>
<attribute name="CopyrightNotice" value="Copyright (c) 2012-${build.year} ${corp.name}"/>
<attribute name="Implementation-Title" value="${ant.project.name} - HTTPS Handler"/>
<attribute name="Implementation-Vendor" value="${corp.name}"/>
<attribute name="Implementation-Version" value="${build.version}"/>
</manifest>
<fileset dir="${outDir}">
<include name="org/mortbay/**/*.class"/>
</fileset>
</jar>
</target>
b. debug脚本
<target name="nbdebug" depends="nbbuild">
<!-- Copy the necessary configuration files and libraries to the jetty output direction -->
<copy todir="${jettyOutDir}" file="jetty/start.jar" overwrite="no"/>
<copy todir="${jettyOutDir}/etc" overwrite="no">
<fileset dir="jetty/etc">
<include name="jetty.xml"/>
<include name="webdefault.xml"/>
<include name="configure.dtd"/>
<include name="realm.properties"/>
</fileset>
</copy>
<copy todir="${jettyOutDir}/lib" overwrite="no">
<fileset dir="lib">
<include name="**/*.jar"/>
</fileset>
</copy>
<copy todir="${jettyOutDir}/ext" overwrite="no">
<fileset dir="jetty/ext">
<include name="*.jar"/>
</fileset>
</copy>
<mkdir dir="${jettyOutDir}/lib"/>
<mkdir dir="${jettyOutDir}/bin/logs"/>
<copy todir="${jettyOutDir}/webapps" overwrite="no">
<fileset dir="webapps">
<include name="**/*"/>
</fileset>
</copy>
<!-- Start the debugger -->
<nbjpdastart name="Jetty 6" addressproperty="jpda.address2" transport="dt_socket">
<sourcepath>
<pathelement path="${srcDir}"/>
</sourcepath>
</nbjpdastart>
<!-- Start the application -->
<java jar="${jettyOutDir}\\start.jar" fork="yes" dir="${jettyOutDir}\\bin" failonerror="true"
classpathref="libraries" jvm="${java.executable}">
<jvmarg value="-Xdebug"/>
<jvmarg value="-mx256M"/>
<jvmarg value="-Xnoagent"/>
<jvmarg value="-Djetty.home=."/>
<jvmarg value="-Djava.compiler=none"/>
<jvmarg value="-Xrunjdwp:transport=dt_socket,address=${jpda.address2}"/>
<jvmarg value="-DSTOP.PORT=-1"/>
<jvmarg value="-Xverify:none"/>
<jvmarg value="-Xbootclasspath/a:${jettyOutDir}\\ext\\mail.jar"/>
<jvmarg value="-Dprimary.address=10.158.171.103"/>
<jvmarg value="-Dprimary.port=8080"/>
</java>
</target>
6. 调试源代码
点击debug,可以看到output panel上有输出,debug toolbar也会出现。在jetty代码里加个断点,就可以调试了。
分享到:
相关推荐
Apache-NetBeans-11.2-bin-windows-x64.exeApache-NetBeans-11.2-bin-windows-x64.exeApache-NetBeans-11.2-bin-windows-x64.exeApache-NetBeans-11.2-bin-windows-x64.exeApache-NetBeans-11.2-bin-windows-x64....
Apache-NetBeans-12.4-bin-windows-x64.exe
Apache-NetBeans 21安装包
Apache-NetBeans-11.1-bin-windows-x64 WIDNOWS 64位系统安装文件,java编程IDE。
1. **NetBeans IDE的使用**:包括项目管理、代码编辑、自动完成、调试、构建和部署等基本功能。 2. **Java编程语言**:作为主要开发语言,学习源码可以理解类、对象、继承、多态、接口等Java基础概念。 3. **游戏...
NetBeans 是开源软件开发集成环境,是一个开放框架,可扩展的开发平台,可以用于 Java 等语言的开发,适用于Windows系统。
Apache NetBeans 12.1 was released on September 1, 2020.
org-netbeans-api-debugger-jpda.jar netbeans 文件
1. 首先,解压下载的 Atom-Atom-Netbeans-Theme.zip 文件,得到 Atom-Netbeans-Theme-master 文件夹。 2. 打开 NetBeans IDE,进入“工具”菜单,选择“选项”。 3. 在“选项”窗口中,导航到“外观”类别。 4. 在...
标题 "Netbeans Jetty Maven项目调试配置" 涉及的是在Java开发环境中,如何使用Netbeans IDE结合Jetty服务器和Maven构建工具进行项目的调试配置。这是一个关键的知识点,对于那些经常处理Web应用程序的开发者来说...
org-netbeans-modules-web-frameworks-struts2lib-v2_2_3.nbm
9. **测试工具**:org-netbeans-modules-python-testrunner.nbm 支持编写和运行单元测试,帮助确保代码的质量和稳定性。 10. **帮助文档**:org-netbeans-modules-python-help.nbm 提供了与Python相关的帮助文档和...
org-netbeans-api-java.jar netbeans 文件
通过分析和实验项目中的代码和数据库结构,开发者可以深入了解SSH框架的工作原理,以及如何在实际项目中利用它们来构建高效、可维护的Web应用程序。同时,这也提醒我们尊重开源精神,合理引用和分享代码,遵守开源...
而NetBeans是一款流行的集成开发环境(IDE),支持多种编程语言,包括Java,这使得在NetBeans下开发和运行ImageJ成为可能。将这两个工具结合使用,可以方便地进行图像处理插件的开发和调试。 首先,`IJ_Prefs.txt`...
2. **Maven集成**:NetBeans对Maven的支持非常全面,从源代码中可以学习如何配置Maven项目,以及如何利用NetBeans进行Maven项目的开发和调试。 3. **Swing和JavaFX GUI构建**:NetBeans提供了强大的GUI构建工具,...
testwww 安装和配置 C-C++ 支持 - NetBeans IDE 6_0 教程
总结来说,"org-netbeans.zip"提供的"org-netbeans-modules-sun-jmaki.nbm"模块,是NetBeans IDE对Sun Microsystems的jmaki Ajax框架的支持,它为开发者带来了一种在IDE内高效构建具有Ajax特性的Web应用的方式。...
- 在NetBeans中配置Maven工具和服务器插件,以便支持Maven项目的管理。 - 通过NetBeans的团队开发功能,可以导入JEECG项目到开发环境。 ### 4. 导入JEECG项目 - 可以通过NetBeans的GIT功能克隆JEECG项目。 - 找到...
1. **兼容性**:NetBeans 7支持Java SE 7,这是Java语言的一个重要更新,引入了新的语法特性,如钻石操作符()和try-with-resources语句,使得代码更简洁易读。 2. **模块化**:NetBeans 7的架构更加模块化,用户...