Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
依赖项缺少自己jar的Maven构建_Maven_Jasper Reports_Maven Assembly Plugin - Fatal编程技术网

依赖项缺少自己jar的Maven构建

依赖项缺少自己jar的Maven构建,maven,jasper-reports,maven-assembly-plugin,Maven,Jasper Reports,Maven Assembly Plugin,我有一个Netbeans Maven项目。我创建了自己的字体jar文件,因为Jasper Reports不支持Cp1257。我已经将我的jar安装到本地maven repo,依赖项是通过adddependency添加的。在Netbeans中运行时,我没有任何问题——报告是使用依赖项中声明的字体创建的,并正确导出为PDF格式,但在使用maven assembly插件创建可执行jar后,我的依赖项似乎以某种方式消失或无法访问,因为。我在Netbeans Maven项目的依赖项列表中看到了我的字体文件

我有一个Netbeans Maven项目。我创建了自己的字体jar文件,因为Jasper Reports不支持Cp1257。我已经将我的jar安装到本地maven repo,依赖项是通过adddependency添加的。在Netbeans中运行时,我没有任何问题——报告是使用依赖项中声明的字体创建的,并正确导出为PDF格式,但在使用maven assembly插件创建可执行jar后,我的依赖项似乎以某种方式消失或无法访问,因为。我在Netbeans Maven项目的依赖项列表中看到了我的字体文件。如果您需要更多的代码或smth,请让我知道我将添加所需的代码。 提前谢谢

jasperreports_extension.properties

net.sf.jasperreports.extension.registry.factory.fonts=net.sf.jasperreports.engine.fonts.SimpleFontExtensionsRegistryFactory`
net.sf.jasperreports.extension.simple.font.families.ireportfamily1463309406404=fonts/fontsfamily1463309406404.xml
fontsfamily1463309406404.xml

<?xml version="1.0" encoding="UTF-8"?>
<fontFamilies>
   <fontFamily name="Times New Roman">
       <normal><![CDATA[fonts/times.ttf]]></normal>
       <bold><![CDATA[fonts/timesbd.ttf]]></bold>
       <italic><![CDATA[fonts/timesbi.ttf]]></italic>
       <boldItalic><![CDATA[fonts/timesi.ttf]]></boldItalic>
       <pdfEncoding><![CDATA[Cp1257]]></pdfEncoding>
       <pdfEmbedded><![CDATA[true]]></pdfEmbedded>
   </fontFamily>
</fontFamilies>
POM.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.mycompany</groupId>
    <artifactId>MYAPPNAME</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>
    <repositories>
</repositories>
    <dependencies>
...
<dependency>
            <groupId>my.fonts</groupId>
            <artifactId>fonts2</artifactId>
            <version>1.1</version>
            <type>jar</type>
        </dependency>
    </dependencies>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                    <archive>
                        <manifest>
                            <mainClass>forms.Login</mainClass>
                        </manifest>
                    </archive>
                </configuration>
                <executions>
                    <execution>
                        <id>create-my-bundle</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>   
        </plugins>
    </build>
    <name>MYAPPNAME</name>
</project>

4.0.0
com.mycompany
MYAPPNAME
1.0-快照
罐子
...
我的字体
fonts2
1.1
罐子
UTF-8
1.8
1.8
org.apache.maven.plugins
maven汇编插件
带有依赖项的jar
表单。登录
创建我的包
包裹
单一的
MYAPPNAME

这是否回答了您的问题?这意味着在打包过程中会覆盖
jasperreports\u扩展名.properties
文件吗?为什么是Cp1257而不是Idenity-H?谢谢您的回答。我一定会试试图纳基斯的建议。Petter,Cp1257是我的编码,我认为这可能是问题所在,但为什么它在Netbeans中工作,但在编译后却不工作呢?埃尼姆加。我尝试过导出到docx和rtf,而不是PDF,效果很好。Mistery…添加了标识为H的字体。没有。仍然一样,没有波罗的海字符只有在PDF中,但在docx和rtf中,他们存在,即使shade插件没有创建jar可执行jar。我已经研究了可执行jar文件,它是用汇编插件创建的。有一个名为default.jasperreports.properties的文件。该文件中有#字体设置部分。我已经将默认的Cp1252编码更改为Cp1257,所需的字符显示在pdf中。jar文件仍然没有达到我的字体,但至少我可以在pdf中看到所需的字符。这是否回答了您的问题?这意味着在打包过程中会覆盖
jasperreports\u扩展名.properties
文件吗?为什么是Cp1257而不是Idenity-H?谢谢您的回答。我一定会试试图纳基斯的建议。Petter,Cp1257是我的编码,我认为这可能是问题所在,但为什么它在Netbeans中工作,但在编译后却不工作呢?埃尼姆加。我尝试过导出到docx和rtf,而不是PDF,效果很好。Mistery…添加了标识为H的字体。没有。仍然一样,没有波罗的海字符只有在PDF中,但在docx和rtf中,他们存在,即使shade插件没有创建jar可执行jar。我已经研究了可执行jar文件,它是用汇编插件创建的。有一个名为default.jasperreports.properties的文件。该文件中有#字体设置部分。我已经将默认的Cp1252编码更改为Cp1257,所需的字符显示在pdf中。jar文件仍然没有达到我的字体,但至少我可以在pdf中看到所需的字符。
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.mycompany</groupId>
    <artifactId>MYAPPNAME</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>
    <repositories>
</repositories>
    <dependencies>
...
<dependency>
            <groupId>my.fonts</groupId>
            <artifactId>fonts2</artifactId>
            <version>1.1</version>
            <type>jar</type>
        </dependency>
    </dependencies>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                    <archive>
                        <manifest>
                            <mainClass>forms.Login</mainClass>
                        </manifest>
                    </archive>
                </configuration>
                <executions>
                    <execution>
                        <id>create-my-bundle</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>   
        </plugins>
    </build>
    <name>MYAPPNAME</name>
</project>