2010-08-17 38 views
8

Có thể thiết lập biến môi trường với maven (OS: Linux) không?Thiết lập biến môi trường với maven 2.x

Tôi đã có thuộc tính người dùng định nghĩa (trong pom và trong profiles.xml) .... vấn đề của tôi là, làm thế nào để thực hiện sau từ Maven

export GGA_FRE=/path 

Vì vậy, sẽ có thể, rằng tất cả các nhà phát triển có thể thiết lập con đường riêng của mình cho GGA_FRE.

+0

Maven có một số biến env và java được tích hợp sẵn. Bạn muốn đặt cái nào (làm ví dụ)? – JoseK

+0

tôi muốn thiết lập môi trường riêng của mình var .... cho exmple GGA_FRE. – cupakob

+0

Tại sao bạn cần đặt chúng? Sử dụng chúng từ bên ngoài Maven? – khmarbaise

Trả lời

4

Câu trả lời này không chính xác, ít nhất là không hoàn toàn (xem nhận xét).
Rất tiếc, tôi không thể xóa nó vì nó đã được chấp nhận. Milage của bạn có thể khác nhau.


Sử dụng exec:exec mojo.

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>exec-maven-plugin</artifactId> 
    <version>1.1</version> 
    <executions> 
     <execution> 
     <id>exportVar</id> 
     <phase>initialize</phase> 
     <goals> 
      <goal>exec</goal> 
     </goals> 
     </execution> 
    </executions> 
    <configuration> 
     <executable>export</executable> 
     <arguments> 
     <argument>GGA_FRE=${my.path}</argument> 
     </arguments> 
    </configuration> 
    </plugin> 

nay gọi nó như thế này mvn install -Dmy.path=/var/users/groucho

+0

Có ai có thể xác nhận rằng tính năng này hoạt động không? Tôi đã thử nó và nó không hiệu quả với tôi. Tôi nghĩ rằng exec: exec sẽ thực hiện lệnh trong một vỏ sinh sản, mà sẽ đưa môi trường thay đổi xuống với nó khi nó thoát ra ngay lập tức sau đó. – Anonymoose

+0

@Anonymoose có thể đúng, có thể bạn nên hỏi một câu hỏi tiếp theo tại http://superuser.com để xác định lệnh chính xác cần thiết (nếu có). Tôi không phải là một guru vỏ. –

+0

@Anonymoose, điều này cũng không có tác dụng đối với tôi. – Gilbeg

0

Tôi không nghĩ rằng có một cách Java để thiết lập biến môi trường lệnh xuất khẩu đường không (để nó nằm ngoài sẵn của Java). (xem ví dụ câu hỏi này: How do I set environment variables from Java?)

Tuy nhiên, bạn có thể hack bạn xung quanh: ví dụ sử dụng plugin maven-exec để chạy tập lệnh shell và sau đó đặt biến trong tập lệnh. Bạn có thể chuyển một tham số cho tập lệnh của bạn để chỉ định giá trị biến. (lưu ý rằng tôi chưa thử nghiệm điều này)

Các vấn đề liên quan