2013-04-08 52 views
8

Tôi đang cố gắng tạo cơ hội biểu tượng tệp exe trong khi tạo gói gốc của bao bì javafx. Tôi đã cố gắng thêm biểu tượng vào pom.xml nhưng đến khi nó sẽ không làm việc ra cho tôi như nó mang lại biểu tượng mặc định
Sử dụng Intellij IDEA IDE mà chứa một pom.xml tạo ra một gói bằng command = mvn jfx:build-native Đây là tôi pom.xml:Cách đặt biểu tượng tùy chỉnh cho biểu tượng gói gốc javafx trên Windows

<build> 
    <plugins> 
     <plugin> 
      <groupId>com.zenjava</groupId> 
      <artifactId>javafx-maven-plugin</artifactId> 
      <version>1.5</version> 
      <configuration> 

       <mainClass>com.demoApp.testapp.testApplication</mainClass> 

       <!-- only required if signing the jar file --> 
       <keyStoreAlias>example-user</keyStoreAlias> 
       <keyStorePassword>example-password</keyStorePassword> 
       <permissions> 
        <permission>all-permissions</permission> 
       </permissions> 
       <icon>${basedir}/src/main/resources/images/logoIcon.ico</icon> 
      </configuration> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <configuration> 
       <source>1.7</source> 
       <target>1.7</target> 
      </configuration> 
     </plugin> 

    </plugins> 
</build> 

tôi đã thêm một con đường biểu tượng vào pom.xml $ {} basedir /src/main/resources/images/logoIcon.ico mà sẽ chạy trong khi gói bản địa thực hiện nhưng nó sẽ không làm việc ra cho tôi

là bất kỳ khác cách để làm điều đó? Vui lòng đề xuất.


tôi đã cố gắng thẻ fx trong pom.xml sử dụng kiến, đây là sự thay đổi của tôi trong pom.xml

<properties> 

<javafx.tools.ant.jar>${env.JAVA_HOME}\lib\ant-javafx.jar</javafx.tools.ant.jar> </properties> 


<plugin> 
       <artifactId>maven-antrun-plugin</artifactId> 
       <version>1.6</version> 
       <executions> 
        <execution> 
         <id>create-launcher-jar</id> 
         <phase>package</phase> 
         <goals> 
          <goal>run</goal> 
         </goals> 
         <configuration> 
          <target xmlns:fx="javafx:com.sun.javafx.tools.ant"> 
           <taskdef 
             uri="javafx:com.sun.javafx.tools.ant" 
             resource="com/sun/javafx/tools/ant/antlib.xml" 
             classpath="${javafx.tools.ant.jar}"/> 
           <fx:application id="fxApp" 
               name="${project.name}" 
               mainClass="com.precisionhawk.flightplanner.FlightPlannerApp"/> 
           <fx:jar destfile="${project.build.directory}/${project.build.finalName}-launcher"> 
            <fx:application refid="fxApp"/> 
            <fx:fileset dir="${project.build.directory}/classes"/> 
           </fx:jar> 
           <attachartifact file="${project.build.directory}/${project.build.finalName}-launcher.jar" 
               classifier="launcher"/> 
           <fx:deploy> 
            <fx:info> 
             <fx:icon href="${basedir}/src/main/deploy/logoIcon.ico"></fx:icon> 
            </fx:info> 

           </fx:deploy> 
          </target> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 

nhưng nó sẽ không làm việc ra ..

+0

tên thư mục cửa sổ bị thiếu trong mã của bạn tại đây: ' ' – KeepMove

Trả lời

10

Tôi chỉ gặp khó khăn với cùng một vấn đề khi sử dụng plugin javafx-maven tuyệt vời của Zonsky. Kể từ phiên bản 1.5 mà bạn cũng đang sử dụng, thư mục src/main/deploy sẽ được thêm vào classpath. Biểu tượng bạn muốn sử dụng có thể được thêm vào đó và nó sẽ có sẵn trên classpath cho trình tạo bản địa!

tôi thêm src/main/triển khai/gói/windows/myapp.ico ở đó và nó cuối cùng làm việc :)

Đối với bạn:

  1. Tạo src/main/deploy/package/windows/ folder icon
  2. Add với tên ${project.build.finalName}.ico
  3. Run mvn jfx:build-native

tôi thiên đường' t chơi với nó rộng rãi - chỉ cần có nó để làm việc và muốn chia sẻ. Vì vậy, nếu bạn muốn sử dụng biểu tượng với tên khác, tôi không biết làm thế nào. Chưa được ít nhất. Phần <icon>...</icon> trong phần cấu hình có vẻ là dành cho webstart, vì vậy tôi chưa sử dụng nó. Hy vọng bạn làm cho nó hoạt động!

1

Bạn cần phải nhìn vào đăng nhập trong khi tạo ứng dụng gốc. Điều đó sẽ cho bạn biết nơi trình cài đặt tìm kiếm các tệp biểu tượng và có tên nào. Đối với ứng dụng gốc mặc định của Windows, hãy xem ./package/windows/'appname'.ico Không thể nhớ vị trí 'tên ứng dụng' xuất phát từ đâu, nhưng chỉ nhìn vào nhật ký khi xây dựng, nó sẽ cho bạn biết. (Tôi sử dụng các mục tiêu Ant được gọi từ pom btw của tôi)

+0

nhật ký trong khi tạo ứng dụng gốc: [ INFO] Xây dựng trình cài đặt gốc [DEBUG] Sử dụng tệp biểu tượng tại 'C: \ Projects \ DemoApp \ src \ main \ deploy \ logoIcon.ico' cách nhận đường dẫn thích hợp nhưng biểu tượng gói được đặt thành biểu tượng mặc định – user1859806

+0

Tạo gói ứng dụng : Facewizz trong c: \ dev \ repositories \ profile_planner \ profileplanner \ target \ dist \ bundles Sử dụng tài nguyên gói tùy chỉnh [biểu tượng ứng dụng] (được tải từ gói/windows/Facewizz.ico trên đường dẫn lớp) là những gì tôi nhận được. Dường như quá trình ghi nhật ký của bạn xuất phát từ plugin Maven.Bạn càng có nhiều trừu tượng hơn từ các công cụ xây dựng ban đầu, càng có nhiều cơ hội thất bại trong imho. –

+0

bạn đang sử dụng phiên bản Java nào? Tôi đột nhiên nhận thấy rằng khi tôi xây dựng ứng dụng của tôi với 7.0.17, biểu tượng cũng không được thiết lập. Đó là với bản phát hành 7.0.12-ea, vì vậy đây có thể là một lỗi sẽ được khắc phục trong bản phát hành lỗi. –