【问题标题】:PrimeFaces Barcode does not work?PrimeFaces 条码不起作用?
【发布时间】:2014-11-01 05:06:19
【问题描述】:

我试图从运行的PrimeFaces Showcase 获取条形码,但是当我放置 XHTML 代码并让它在我的本地 Wildfly 8 中运行时,我完全是垃圾。每个条码的数字都太大,二维码根本不起作用。

我相信我可能缺少 Maven 依赖项,但我很难找到必要的依赖项。

按照文档,我想我必须在版本2.1中集成barcode4j-light的依赖关系,但我在Maven上找不到这个版本。

我将如何整合它?我会很感激每一个帮助!提前致谢!

我的 Barcode.xhtml:

<!DOCTYPE html>
<html   xmlns="http://www.w3c.org/1999/xhtml"
        xmlns:h="http://java.sun.com/jsf/html"
        xmlns:p="http://primefaces.org/ui"
        xmlns:f="http://xmlns.jcp.org/jsf/core">
    <h:head/>
    <h:body>
        <p:panelGrid columns="2">
            <h:outputText value="Interleaved 2 of 5" />
            <p:barcode value="0123456789" type="int2of5" />

            <h:outputText value="Codabar" />
            <p:barcode value="0123456789" type="codabar"/>

            <h:outputText value="Code39" />
            <p:barcode value="0123456789" type="code39" />

            <h:outputText value="Code128" />
            <p:barcode value="0123456789" type="code128"/>

            <h:outputText value="EAN-8" />
            <p:barcode value="20123451" type="ean8"/>

            <h:outputText value="EAN-13" />
            <p:barcode value="0123456789012" type="ean13"/>

            <h:outputText value="UPC-A (PNG)" />
            <p:barcode value="01234567895" type="upca" format="png"/>

            <h:outputText value="UPC-E (Vertical)" />
            <p:barcode value="01234133" type="upce" orientation="90"/>

            <h:outputText value="PDF417" />
            <p:barcode value="0123456789" type="pdf417"/>

            <h:outputText value="DataMatrix" />
            <p:barcode value="0123456789" type="datamatrix"/>

            <h:outputText value="Postnet" />
            <p:barcode value="0123456789" type="postnet"/>

            <h:outputText value="QR" />
            <p:barcode value="0123456789" type="qr"/>
        </p:panelGrid>
    </h:body>
</html>

我的 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.glasses</groupId>
    <artifactId>primeWork</artifactId>
    <version>1.0</version>
    <packaging>war</packaging>

    <name>primeWork</name>

    <properties>
        <endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
        <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-web-api</artifactId>
            <version>7.0</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.primefaces</groupId>
            <artifactId>primefaces</artifactId>
            <version>5.1</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                    <compilerArguments>
                        <endorseddirs>${endorsed.dir}</endorseddirs>
                    </compilerArguments>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.3</version>
                <configuration>
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>2.6</version>
                <executions>
                    <execution>
                        <phase>validate</phase>
                        <goals>
                            <goal>copy</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${endorsed.dir}</outputDirectory>
                            <silent>true</silent>
                            <artifactItems>
                                <artifactItem>
                                    <groupId>javax</groupId>
                                    <artifactId>javaee-endorsed-api</artifactId>
                                    <version>7.0</version>
                                    <type>jar</type>
                                </artifactItem>
                            </artifactItems>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

</project>

【问题讨论】:

  • 我现在遇到了同样的问题,所以我可以看到条形码图像,但是它们底部的数字太大了。只有当我在我正在工作的项目中使用p:barcode 组件时才会发生这种情况。在从头开始构建的项目中没有问题,所以它似乎与一些相关的库冲突有关.. 太难了找出问题所在:-(

标签: maven jsf jsf-2 primefaces barcode


【解决方案1】:

所以 barcode4j-light-2.1 在 Maven 存储库中不可用。我们需要从SourceForge 下载它。下载并解压缩后,转到build 目录。 barcode4j-light jar 将在那里。

要将其安装到本地 Maven 存储库,请关注 these instructions。基本上,从命令行(从build 目录并假设您安装了 Maven):

C:\...build>mvn install:install-file -Dfile=barcode4j-light.jar 
                                     -DgroupId=net.sf.barcode4j
                                     -DartifactId=barcode4j-light 
                                     -Dversion=2.1 
                                     -Dpackaging=jar

该命令应该全部在一行上,而不是像您在此处看到的那样分隔行。然后您可以将依赖项添加到您的项目中

<dependency>
    <groupId>net.sf.barcode4j</groupId>
    <artifactId>barcode4j-light</artifactId>
    <version>2.1</version>
</dependency>

你也需要这个

<dependency>
    <groupId>net.glxn</groupId>
    <artifactId>qrgen</artifactId>  <!-- QR code support -->
    <version>1.4</version>
</dependency>

不是这样一步一步来的,但在Prime Faces User Guide中有描述。一旦我按照上述步骤操作,它就对我有用。

【讨论】:

  • 这可能对 qrgen 依赖有效,因为 OP 建议 QR 支持不起作用。然而,他说他可以看到其余的条形码,但格式不正确。
  • 这两个依赖项现在都可以在 Maven 上使用,并且工作起来就像一个魅力。
【解决方案2】:

我也添加到我的 pom.xml 中:

<repositories>
    <repository>
        <url>http://repository.primefaces.org/</url>
        <id>PrimeFaces-maven-lib</id>
        <layout>default</layout>
        <name>Repository for library PrimeFaces-maven-lib</name>
    </repository>
</repositories>

谁解决了 NB8 Maven Web 项目中的依赖问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-06
    • 2015-10-08
    • 2014-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多