Maven systemPath依赖项未添加到清单中的Class-Path

 晴可倾 发布于 2023-02-08 13:08

我的pom.xml是




    4.0.0
    com.spt
    astra
    1.0-SNAPSHOT
    jar

    
        
            central
            Maven Repository Switchboard
            default
            http://repo1.maven.org/maven2
            
                false
            
        
    

    
        
            log4j
            log4j
            1.2.17
        
        
            javafx
            javafx
            2.2.3
            system
            ${project.basedir}/lib/jfxrt.jar
        
    

    
        
            
                org.apache.maven.plugins
                maven-jar-plugin
                2.4
                
                    
                        
                            true
                            lib/
                            com.spt.buket_3_wifi.desktop.Mainsta
                        
                    
                
                
                    
                        default-copy-resources
                        package
                        
                            jar
                        
                    
                
            
            
                org.apache.maven.plugins
                maven-dependency-plugin
                2.7
                
                    
                        copy-dependencies
                        package
                        
                            copy-dependencies
                        
                        
                            ${project.build.directory}/lib
                            false
                            false
                            true
                        
                    
                
            
        
    

它成功编译,依赖项log4j-1.2.17.jar和javafx-2.2.3.jar都被复制到lib文件夹.问题是lib/javafx-2.2.3.jar没有包含在jar清单文件中的Class-Path中,所以我无法运行它.MANIFEST.MF是:

Manifest-Version: 1.0
Built-By: karasev
Build-Jdk: 1.7.0_40
Class-Path: lib/log4j-1.2.17.jar
Created-By: Apache Maven 3.1.0
Main-Class: com.spt.buket_3_wifi.desktop.Main
Archiver-Version: Plexus Archiver

如您所见,仅添加了lib/log4j-1.2.17.jar.有什么问题?有任何想法吗?

1 个回答
  • 您可以尝试这种方法:

    ...[truncated]...
    <configuration>
        <archive>
            <manifest>
                <addClasspath>true</addClasspath>
                <classpathPrefix>lib/</classpathPrefix>
                <mainClass>com.spt.buket_3_wifi.desktop.Main</mainClass>
            </manifest>
            <manifestEntries>
                <Class-Path>lib/javafx-2.2.3.jar</Class-Path>
            </manifestEntries>
        </archive>
    </configuration>
    ...[truncated]...
    

    但这对于JavaFX库来说并不是必需的,因为它已经在JVM类路径中了.

    2023-02-08 13:12 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有