programing

개미 경고: "mitantruntime"이 설정되지 않음"

prostudy 2022. 5. 8. 22:02
반응형

개미 경고: "mitantruntime"이 설정되지 않음"

나는 다음과 같은 경고를 받는다.

[javac] build.xml:9: warning: 'includeantruntime' was not set, 
defaulting to build.sysclasspath=last; set to false for repeatable builds

이것은 무엇을 의미합니까?

앤트 런타임

단순설정includeantruntime="false":

<javac includeantruntime="false" ...>...</javac>

만약 당신이 그것을 사용해야 한다면.javac-자체 정의에 사용하는 것을 여러 번 고려해 보십시오.javac-항상 설정되는 기능includeantruntime="false".

추가 세부 정보

출처: http://www.coderanch.com/t/503097/tools/warning-includeantruntime-was-not-set:

그것은 개미 1.8에 소개된 오행으로 인한 것이다.javac 작업에 그 이름의 속성을 추가해서 false로 설정하고 그런 일이 있었다는 것을 잊어버려라.

출처: http://ant.apache.org/manual/Tasks/javac.html:

클래스 경로에 Ant 런타임 라이브러리를 포함할지 여부. build.sysclasspath가 설정되지 않은 경우 기본값은 yes로 설정됨.대본의 동작이 실행되는 환경에 민감하지 않도록 보통 이것을 거짓으로 설정하는 것이 가장 좋다.

@Daniel Kutik이 언급했듯이, 좋은 선택이다.특히 많은 사람들과 함께 프로젝트를 하고 있는 경우에는 더욱 그렇다.build.xml편집할 수 없거나 원하지 않는 파일(예: 제3자 파일)

사용 방법presetdef, 최상위 수준에 이 행 추가build.xml파일:

  <presetdef name="javac">
    <javac includeantruntime="false" />
  </presetdef>

이제 모든 후속 조치javac업무는 본질적으로 계승될 것이다.includeantruntime="false"프로젝트에 실제로 개미 런타임 라이브러리가 필요한 경우 빌드 파일에 명시적으로 추가하거나includeantruntime="true"후자는 또한 경고를 없앨 것이다.

후속javac태스크는 원하는 경우 다음을 명시적으로 변경할 수 있다.

<javac destdir="out" includeantruntime="true">
  <src path="foo.java" />
  <src path="bar.java" />
</javac>

사용하지 않는 것을 추천한다.ANT_OPTS그것은 효과가 있지만 경고의 목적을 꺾는다.그 경고는 한 사람의 체격이 다른 시스템에서 다르게 행동할 도 있다는 것을 알려준다.사용.ANT_OPTS이제 모든 시스템이ANT_OPTS같은 방법으로또,ANT_OPTS전 세계적으로 적용되어, 당신의 모든 프로젝트에 대한 경고를 즉각적으로 억제할 것이다.

쳇 호시여기에 멋진 설명을 썼다.

역사적으로 앤트는 항상 자신의 런타임을 자바 작업이 가능하게 하는 클래스 경로에 포함시켰다.따라서 Ant와 함께 포함된 모든 라이브러리 및 개미가 사용할 수 있는 라이브러리는 여러분이 좋아하든 싫어하든 여러분의 빌드의 클래스 경로에 자동으로 위치하게 된다.

이것은 아마도 대부분의 사람들이 원하는 것이 아니라고 결정되었다.그래서 이제 그것에 대한 선택권이 있다.

true(참)(includeantruntime의 경우)를 선택하면 적어도 빌드 클래스 경로에 Ant 런타임이 포함된다는 것을 알고 있을 것이다."거짓말"을 선택하면 빌드 동작이 이전 버전과 1.8 이상 간에 변경된다는 사실을 인정하는 것이다.

이 경고를 보고 짜증이 나는 것처럼, 만약 당신의 체격이 완전히 깨진다면 당신은 훨씬 덜 행복할 것이다.이 기본 동작을 유지하면 수정되지 않은 빌드 파일이 개미 버전 간에 일관성 있게 작동할 수 있다.

다니엘의 대답은 완벽하다.다음은 내 build.xml에 추가한 샘플 코드 조각:

<target name="compile">
    <mkdir dir="${classes.dir}"/>
    <javac srcdir="${src.dir}" destdir="${classes.dir}" includeantruntime="false">
                                                 <!--   ^^^^^^^^^^^^^^^^^^^^^^^^^  -->
        <classpath>
            <path id="application" location="${jar.dir}/${ant.project.name}.jar"/>
            <path id="junit" location="${lib.dir}/junit-4.9b2.jar"/>
        </classpath>
    </javac>
</target>

내가 커맨드라인에서 일하는 것을 좋아한다면 빠른 대답은 실행이다.

export ANT_OPTS=-Dbuild.sysclasspath=ignore

그런 다음 개미 대본을 다시 실행하십시오.

사용하다<property name="build.sysclasspath" value="last"/> filebuild.xml

자세한 내용 검색includeAntRuntime앤트 자바크로

다른 가능한 값은 여기에서 찾을 수 있다.

같은 상황에 직면했고, 프로그램과 기능을 체크 인했다.일식의 개미에 대한 이전 설정(jdk1.6.0)과 호환되지 않는 jdk1.8에 대한 업데이트가 설치되었다.내가 그 업데이트를 설치한다.지금 내 개미 프로젝트는 성공을 구축하는 것이다.

해봐, 이게 도움이 되길 바래.

참조URL: https://stackoverflow.com/questions/5103384/ant-warning-includeantruntime-was-not-set

반응형