동일한 입력 및 출력 파일을 사용하여 ant xslt 작업 사용

VeikkoW

임시 파일없이 입력 파일을 출력 파일로 사용하여 xml (예 :)에서 정렬을 수행하기 위해 ant xslt 작업을 실행할 수없는 것 같습니다.

모든 arxml 파일의 내용을 정렬하기 위해 다음 대상을 사용하고 있습니다.

<target name="sort_arxml" depends="init" description="Do a XLST on all arxml files to sort their content">
    <tempfile property="sort.xslt" suffix=".xslt" deleteonexit="true" />
    <echo file="${sort.xslt}">
        <![CDATA[
        <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
            <xsl:template match="@*|node()">
                <xsl:copy>
                    <xsl:apply-templates select="@*|node()">
                        <xsl:sort select="child::*"/>
                    </xsl:apply-templates>
                </xsl:copy>
            </xsl:template>
        </xsl:stylesheet>
        ]]></echo>
    <xslt style="${sort.xslt}" basedir="../Config" destdir="../Config" extension=".arxml" includes="**/*.arxml" excludes="**/AUTOSAR*"/>
</target>

그러나 예외를 반환하므로 이것을 할 수 없습니다.

java.io.FileNotFoundException: xxxx\Config\Developer\ComponentTypes\yyyy.arxml (Access is denied)
    at java.io.FileOutputStream.open(Native Method)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:221)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:171)
    at org.apache.tools.ant.taskdefs.optional.TraXLiaison.transform(TraXLiaison.java:185)
    at org.apache.tools.ant.taskdefs.XSLTProcess.process(XSLTProcess.java:816)

다른 확장자를 사용하면 작동하지만 파일을 원본 위에 다시 복사해야합니다.

누군가 이것을 고쳤습니까? 그리고 만약, 어떻게? 변압기의 문제입니까?

시스템 정보 :

Apache Ant(TM) version 1.9.2 compiled on July 8 2013
Detected Java version: 1.7 in: C:\Program Files\Java\jdk1.7.0_45\jre
Detected OS: Windows 7
kjhughes

XSLT 자체는 입력 파일에 쓸 수 없으므로 ant XSLT 태스크가 목표를 달성하기 위해 할 수있는 작업이 없습니다.

그건 그렇고, 임시 파일이나 디렉토리를 만드는 데 아무런 문제가 없으며 XSLT 입력을 출력과 별도로 유지하면 이점이 있습니다. ant XSLT 태스크는 변환을 다시 실행해야하는시기를 감지 할 수 있으며 입력 및 출력 파일이 구별 될 때 디버깅이 용이합니다. 곡물에 반대하지 않는 편이 낫습니다.

출력 파일이 입력 파일과 동일해야 할 필요성을 고려하여 설계 할 수없는 경우 별도의 출력 디렉터리에 쓰고 변환 후 입력 디렉터리를 출력 디렉터리로 바꿉니다.

<target name="sort_arxml" depends="init" 
        description="Do a XLST on all arxml files to sort their content">

    <!-- [ same as in question ] -->

    <xslt style="${sort.xslt}" basedir="../Config" destdir="../ConfigTMP" 
          extension=".arxml" includes="**/*.arxml" excludes="**/AUTOSAR*"/>

    <delete dir="../Config"/>
    <move file="../ConfigTMP" tofile="../Config"/>

</target>

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

사용자 입력을 사용하여 외부 파일에 대한 목록 작성, 업데이트 및 읽기

규칙에서 동일한 입력 및 출력을 사용하는 Snakemake

qsub를 사용하여 실행 파일 + 입력 파일을 제출하여 여러 작업 생성

여러 xml 파일을 병합하고 한 번에 요소를 삽입하여 xslt를 사용하여 업데이트 된 xml 출력

여러 xml 파일을 병합하고 한 번에 요소를 삽입하여 xslt를 사용하여 업데이트 된 xml 출력

XSLT를 사용하여 동일한 입력 XML에서 추출된 최신 날짜로 입력 XML 업데이트

phpdocx를 사용하여 ODF 파일을 템플릿 입력 및 출력으로 사용

파일을 사용하여 배열 및 테이블 출력

HTML에서 동일한 입력 값을 사용하여 하나의 입력 필드, 두 개의 버튼 및 두 개의 작업을 갖는 방법

텍스트 파일을 입력 및 출력으로 사용하는 Python

Python에서 입력 및 출력 파일을 사용하는 방법

C에서 단순 파일 입력 및 출력을 사용하는 방법

작업 에이전트를 사용하여 sqlcmd 출력을 파일에 추가

Java에서 입력 및 출력 리디렉션을 사용하여 C 실행 파일 호출

snakemake : 입력 및 출력 파일에 다른 폴더 사용

덮어 쓰지 않고 출력을 사용하여 파일 찾기 및 이동

여러 소스 파일이 여러 출력 파일을 생성하는 ANT 최신 버전 사용

Selenium Safari 및 Python을 사용하여 입력 태그를 통해 파일을 업로드하는 방법

Cron 작업을 사용하여 웹 사이트를 방문하고 출력을 파일에 기록

한 작업의 출력을 배치 파일의 다른 작업에 대한 입력으로 사용하는 방법은 무엇입니까?

getline ()을 사용하여 입력 파일을 읽고 출력 파일로 출력하는 C ++ 문제

EXCEL-동일한 셀에 수식 출력 및 사용자 입력을 갖는 방법은 무엇입니까?

XSLT를 사용한 XML 변환: 증가된 변수에서 파일 이름을 사용하여 여러 출력 파일 생성

병렬을 사용하여 고유 한 입력 파일을 고유 한 출력 파일로 처리

입 / 출력 파일을 사용하여 .exe 파일을 시작하고 일괄 적으로 시간 제한을 설정하는 방법은 무엇입니까?

react 및 ant.design (antd)을 사용하여 입력 한 비밀번호를 확인하고 싶습니다.

동일한 출력을 두 번 사용

Google 크롬을 사용하여 웹사이트에 입력 및 폴더의 모든 파일에 대한 출력 생성 [MacOS; 단말기]

C ++ OpenCV에서 입력 및 출력과 동일한 변수를 사용하는 것이 안전합니까?