“导入com.lowagie无法解决”(HYBRIS)

时间:2018-04-10 10:10:15

标签: java hybris

package de.hybris.training.core.job;

        import com.lowagie.text.Document;

        import com.lowagie.text.Phrase;

        import com.lowagie.text.pdf.PdfPTable;
        import com.lowagie.text.pdf.PdfWriter;
        import de.hybris.platform.cronjob.enums.CronJobResult;
        import de.hybris.platform.cronjob.enums.CronJobStatus;
        import de.hybris.platform.servicelayer.cronjob.AbstractJobPerformable;
        import de.hybris.platform.servicelayer.cronjob.PerformResult;

        import de.hybris.training.core.facade.impl.TotalCustomerFacadeImpl;
        import de.hybris.training.core.model.UsersFindCronJobModel;

        import java.util.List;


        import java.awt.*;
        import java.io.File;

        import java.io.FileOutputStream;



public class UsersFindJob extends AbstractJobPerformable<UsersFindCronJobModel> {

        private static final org.apache.log4j.Logger LOG = org.apache.log4j.Logger.getLogger(UsersFindJob.class);
        TotalCustomerFacadeImpl totalCustomerFacade = new TotalCustomerFacadeImpl() ;




        @Override
        public PerformResult perform(UsersFindCronJobModel cronJobModel) {

                try {

                        // Retrieve firstName from the cronJob
                        String firstName = cronJobModel.getFirstName();

                        // Display Hello firstName
                        LOG.info("**********************************");
                        LOG.info("**********************************");
                        LOG.info("***********************************");LOG.info("**********************************");
                        LOG.info("***********************************");LOG.info("**********************************");
                        LOG.info("***********************************");LOG.info("**********************************");
                        LOG.info("***********************************");LOG.info("**********************************");
                        LOG.info("***********************************");LOG.info("**********************************");
                        LOG.info("***********************************");
                        LOG.info("Hello " + firstName);
                        LOG.info("**********************************");
                        LOG.info("**********************************");
                        LOG.info("**********************************");
                        LOG.info("***********************************");LOG.info("**********************************");
                        LOG.info("***********************************");LOG.info("**********************************");
                        LOG.info("***********************************");LOG.info("**********************************");
                        LOG.info("***********************************");

                        createSamplePDF( totalCustomerFacade.findCustomerContainingName(firstName));

                        // In case of success return result: SUCCESS and status: FINISHED
                        return new PerformResult(CronJobResult.SUCCESS, CronJobStatus.FINISHED);

                } catch(Exception e) {

                        // In case of exception return result: ERROR and status: ABORTED
                        return new PerformResult(CronJobResult.ERROR, CronJobStatus.ABORTED);

                }
        }

        public static void createSamplePDF(List<String> firstNames) throws Exception{





                Document documento = new Document();
                //Create new File
                File file = new File("C:/newFileName.pdf");
                file.createNewFile();
                FileOutputStream fop = new FileOutputStream(file);
                PdfWriter.getInstance(documento, fop);
                documento.open();
                //Fonts
                Font fontHead = new Font(Font.DIALOG, 15, Font.BOLD);
                Font fontBody = new Font(Font.DIALOG, 12, Font.BOLD);


                //Tabla for body
                PdfPTable tabla = new PdfPTable(firstNames.size());
                for (int i = 0; i < firstNames.size(); i++) {

                                tabla.addCell(new Phrase(firstNames.get(i)));
                }

                documento.add(tabla);
                documento.close();
                fop.flush();
                fop.close();

        }
        }
这是我的班级。 Intellij没有显示任何错误,但是当我让所有人干净的时候,那些来了:

  

[yjavac] 1.错误   C:\ HYBRISCOMM6600P \的hybris \ BIN \定制\培训\ trainingcore的\ src \日\的hybris \培训\核心\工作\ UsersFindJob.java   (第3行)
  [yjavac] import com.lowagie.text.Document;
  [yjavac] ^^^^^^^^^^^
  [yjavac]导入com.lowagie无法解决
  [yjavac] ----------
  [yjavac] 2.错误   C:\ HYBRISCOMM6600P \的hybris \ BIN \定制\培训\ trainingcore的\ src \日\的hybris \培训\核心\工作\ UsersFindJob.java   (第5行)
  [yjavac] import com.lowagie.text.Phrase;
  [yjavac] ^^^^^^^^^^^
  [yjavac]导入com.lowagie无法解决
  [yjavac] ----------
  [yjavac] 3.错误   C:\ HYBRISCOMM6600P \的hybris \ BIN \定制\培训\ trainingcore的\ src \日\的hybris \培训\核心\工作\ UsersFindJob.java   (第7行)
  [yjavac] import com.lowagie.text.pdf.PdfPTable;
  [yjavac] ^^^^^^^^^^^
  [yjavac]导入com.lowagie无法解决
  [yjavac] ----------
  [yjavac] 4.错误   C:\ HYBRISCOMM6600P \的hybris \ BIN \定制\培训\ trainingcore的\ src \日\的hybris \培训\核心\工作\ UsersFindJob.java   (第8行)
  [yjavac] import com.lowagie.text.pdf.PdfWriter;
  [yjavac] ^^^^^^^^^^^
  [yjavac]导入com.lowagie无法解决
  [yjavac] ----------
  [yjavac] 5.错误   C:\ HYBRISCOMM6600P \的hybris \ BIN \定制\培训\ trainingcore的\ src \日\的hybris \培训\核心\工作\ UsersFindJob.java   (第75行)
  [yjavac]文件documento =新文件();
  [yjavac] ^^^^^^^^^   [yjavac]文件无法解析为类型
  [yjavac] ----------
  [yjavac] 6.错误   C:\ HYBRISCOMM6600P \的hybris \ BIN \定制\培训\ trainingcore的\ src \日\的hybris \培训\核心\工作\ UsersFindJob.java   (第75行)
  [yjavac]文件documento =新文件();
  [yjavac] ^^^^^^^^^   [yjavac]文件无法解析为类型
  [yjavac] ----------
  [yjavac] 7.错误   C:\ HYBRISCOMM6600P \的hybris \ BIN \定制\培训\ trainingcore的\ src \日\的hybris \培训\核心\工作\ UsersFindJob.java   (第80行)
  [yjavac] PdfWriter.getInstance(documento,fop);
  [yjavac] ^^^^^^^^^
  [yjavac] PdfWriter无法解决
  [yjavac] ----------
  [yjavac] 8.错误   C:\ HYBRISCOMM6600P \的hybris \ BIN \定制\培训\ trainingcore的\ src \日\的hybris \培训\核心\工作\ UsersFindJob.java   (第88行)
  [yjavac] PdfPTable tabla = new PdfPTable(firstNames.size());
  [yjavac] ^^^^^^^^^
  [yjavac] PdfPTable无法解析为类型
  [yjavac] ----------
  [yjavac] 9.错误   C:\ HYBRISCOMM6600P \的hybris \ BIN \定制\培训\ trainingcore的\ src \日\的hybris \培训\核心\工作\ UsersFindJob.java   (第88行)
  [yjavac] PdfPTable tabla = new PdfPTable(firstNames.size());
  [yjavac] ^^^^^^^^^
  [yjavac] PdfPTable无法解析为类型
  [yjavac] ----------
  [yjavac] 10.错误   C:\ HYBRISCOMM6600P \的hybris \ BIN \定制\培训\ trainingcore的\ src \日\的hybris \培训\核心\工作\ UsersFindJob.java   (第91行)
  [yjavac] tabla.addCell(new Phrase(firstNames.get(i)));

  [yjavac] ^^^^^^
  [yjavac]短语无法解析为类型
  [yjavac] ----------
  [yjavac] 10个问题(10个错误)

我还将itextpdf-5.1.0.jar导入<classpathentry kind="lib" path="lib/itextpdf-5.1.0.jar"/>但仍然相同(复制jar之后,除了放入.classpath之外没有做任何其他事情)

为什么我会收到错误?

网上都没有解决方案。他们都没有为hybris。

我该怎么办?我找不到java类的方法。我需要导出为给定字符串数组列表的pdf。

2 个答案:

答案 0 :(得分:1)

您遵循的步骤非常适合导入com.lowagie

我认为您需要关注itextpdf doc版本。使用最新版本(itextpdf-5.1.0.jar)com.itextpdf不存在。您应该使用com.lowagie代替{{coord|33|21|30.5|S|70|41|50.4|W|scale:5000}}

This answer将帮助您解决问题。

您可以参考this blog

答案 1 :(得分:0)

默认情况下,hybris包含扩展lib文件夹中的所有库。在IDE中,您需要自己引用库。也许你混淆了lib文件夹?检查是否将lib放入

\的hybris \ BIN \定制\训练\ trainingcore \ lib中