2010-09-06 5 views
0

Я хочу создать файл информации о сборке в конкретном месте целевой папки проекта (особенно в папке target/abc_project/META-INF) через maven-2.Как выполнить банку из pom.xml

Ниже то, что я делаю в pom.xml

<build> 
    <finalName>abc_project</finalName> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <configuration> 
       <source>1.6</source> 
       <target>1.6</target> 
      </configuration> 
     </plugin> 

     <plugin> 
<groupId>org.codehaus.mojo</groupId> 
<artifactId>exec-maven-plugin</artifactId> 
<executions> 
<execution> 
    <phase>package</phase> 
    <id>buid-info-generator</id> 
    <goals> 
    <goal>exec</goal> 
    </goals> 
    <configuration> 
    <executable>java</executable> 
    <arguments> 
    <argument>-jar</argument> 
    <argument>xyz.jar</argument> 
    <argument>target/abc_project/META-INF/info.txt</argument> 
    <argument>date</argument> 
    <argument>hg summary</argument> 
    </arguments> 
    </configuration> 
</execution> 
</executions> 

</plugins> 
</build> 

, давая phase кроме install, deploy, я получаю следующее сообщение об ошибке -

[INFO] Exception in thread "main" java.io.FileNotFoundException: target\abc_project\META-INF\info.txt (The system cannot find the path specified) 
[INFO] at java.io.FileOutputStream.open(Native Method) 
[INFO] at java.io.FileOutputStream.<init>(FileOutputStream.java:179) 
[INFO] at java.io.FileOutputStream.<init>(FileOutputStream.java:131) 
[INFO] at java.io.FileWriter.<init>(FileWriter.java:73) 
[INFO] at com.nbec.svn.build.info.BuildInfoGenerator.main(BuildInfoGenerator.java:30) 
[INFO] ------------------------------------------------------------------------ 
[ERROR] BUILD ERROR 
[INFO] ------------------------------------------------------------------------ 
[INFO] Result of cmd.exe /X /C "java -jar xyz.jar target/abc_project/META-INF/info.txt "date "hg summary"" execution is: '1'. 

Но странно, тот же код работает для 1 проекта, а не для других 2 проектов. Есть ли альтернатива для получения того же.

+0

Что-то странное в вашем проекте. Вы изменили настройки по умолчанию? Откуда должен прибыть target \ abc_project \ META-INF \ info.txt? –

ответ

0

Фактически отчет об ошибке указывает, что каталог target\abc_project\META-INF, вероятно, не существует. Без дополнительной информации я могу только догадываться. Возможно, плагин, который создает каталог abc_project\META-INF, вызывается после exec-maven-plugin.

+0

да .. это правда, что он не создает папку abc_project до этого времени, используя фазу, отличную от установки/развертывания. Я не уверен, почему это так. Если кто-нибудь скажет мне, когда будет создана полная целевая папка (со всеми необходимыми зависимыми папками) в maven, тогда это будет замечательно. – deejay

+0

Файл project.build.directory (по умолчанию: «target») и project.build.outputDirectory (по умолчанию: «target/classes») создаются на этапе компиляции. Вы изменили свойство project.build.outputDirectory на "target \ abc_project"? – Jcs

 Смежные вопросы

  • Нет связанных вопросов^_^