Chapter 1 - Netbeans 설정 및 Jetty 소스 코드 실행
1. 자바 프로젝트 를 새로 만 들 고 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. 제 티 스 크 립 트 추가
컴 파일 할 때마다 변경 상황 에 따라 새로운 classes 를 생 성 합 니 다.이 classes 들 은 jar (update) 에서 jetty - 6.1.26. jar 까지 입 니 다.IDE 의 debugger 를 시작 하고 Jetty 6 를 시작 하 며 Jetty 6 를 debugger 에 추가 하면 코드 를 디 버 깅 할 수 있 습 니 다.
a. 빌 드 스 크 립 트
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. 디버그 스 크 립 트
<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 코드 에 정지점 을 추가 하면 디 버 깅 할 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.