jsoup 소스를 컴파일하기 위해 Ant를 사용하려고했습니다. 성공적으로 컴파일 할 수는 있지만 테스트를 통과 할 수는 없습니다. 다음은 과정입니다.Ant를 통해 jsoup를 컴파일하는 방법은 무엇입니까?
jsoup 버전 : 1.6.3; 개미 버전 : jsoup의 1.8.2
소스 내가
이 파일에 포함 된src/build.xml
<project name="jsoup">
<target name="compile">
<mkdir dir="build/classes"/>
<javac srcdir="src" destdir="build/classes" includeantruntime="false"/>
</target>
<target name="jar">
<mkdir dir="build/jar"/>
<jar destfile="build/jar/jsoup.jar" basedir="build/classes">
<manifest>
<attribute name="Main-Class" value="StateTrace"/>
</manifest>
</jar>
</target>
<target name="run">
<!--<java jar="build/jar/jsoup.jar" input="htmls/index.html" fork="true"/>-->
<exec executable="java">
<arg value="-jar"/>
<arg value="build/jar/jsoup.jar"/>
<arg value="htmls/index.html"/>
</exec>
</target>
</project>
참고 빌드 파일을 만든
src/
디렉토리에 있습니다 1. StateTrace.java는 내 자신의 테스트 프로그램입니다 (아래). 2. htmls/index.html은 StateTrace.java에 대한 입력입니다.
String html; // contains the content in htmls/index.html
...
try{
Document doc = Jsoup.parse(html);
}catch(IOException e){e.printStackTrace();}
그럼 난 컴파일하고 개미와 실행이 후
> ant compile
> ant jar
> ant run
를, 내가 좋아하는 잘못을 가지고 :
run:
[exec] Exception in thread "main" java.lang.ExceptionInInitializerError
[exec] at org.jsoup.nodes.Entities$EscapeMode.<clinit>(Unknown Source)
[exec] at org.jsoup.nodes.Document$OutputSettings.<init>(Unknown Source)
[exec] at org.jsoup.nodes.Document.<init>(Unknown Source)
[exec] at org.jsoup.parser.TreeBuilder.initialiseParse(Unknown Source)
[exec] at org.jsoup.parser.TreeBuilder.parse(Unknown Source)
[exec] at org.jsoup.parser.HtmlTreeBuilder.parse(Unknown Source)
[exec] at org.jsoup.parser.Parser.parse(Unknown Source)
[exec] at org.jsoup.Jsoup.parse(Unknown Source)
[exec] at StateTrace.main(Unknown Source)
[exec] Caused by: java.lang.NullPointerException
[exec] at java.util.Properties$LineReader.readLine(Properties.java:418)
[exec] at java.util.Properties.load0(Properties.java:337)
[exec] at java.util.Properties.load(Properties.java:325)
[exec] at org.jsoup.nodes.Entities.loadEntities(Unknown Source)
[exec] at org.jsoup.nodes.Entities.<clinit>(Unknown Source)
[exec] ... 9 more
[exec] Result: 1
BUILD SUCCESSFUL
Total time: 0 seconds
그러나, 나는 수동처럼 모든 자바 소스를 컴파일하는 경우
javac src/org/jsoup/*.java src/org/jsoup/parser/*.java src/org/jsoup/examples/*.java src/org/jsoup/nodes/*.java src/org/jsoup/safety/*.java src/org/jsoup/select/*.java src/org/jsoup/helper/*.java
나는 할 수있다. com 성공적으로 파일을 쌓고 내 테스트를 통과합니다.
단서가 있습니까? 감사!
질문에 현재 정보가 충분하지 않은 것 같습니다. build.xml은 최근 버전의 ant (예 : 1.8.2) 및 htmls/index.html에있는 항목과 작동하지 않습니다. jsoup 소스 코드 (1.6.3)의 최신 버전을 사용하고 있습니까? StateTrace는 jsoup의 일부가 아닙니다.이 코드는 고유 한 코드입니까? 나는 당신의 문제를 보아 기쁘지만, 그것을 재현 할 수있는 충분한 정보가 필요합니다. – richj
@richj 질문에 감사드립니다. 네가 옳아. 좀 더 자세한 정보를 제공하겠습니다. 업데이트 된 버전의 질문을 참조하십시오. – JackWM
추가 정보를 제공해 주셔서 감사합니다. StateTrace.main에 코드 줄을 추가하십시오 (...)는 Jsoup.parse (...)를 호출합니다. 특히 html 및 [선택 사항] baseUri 매개 변수로 전송되는 값에 관심이 있습니다. 감사. – richj