"The import com.lowagie cannot be resolved "(混合动力系统)
"The import com.lowagie cannot be resolved " (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();
}
}
这是我的class。 Intellij 没有显示任何错误,但是当我让 ant clean all 时,那些来了:
[yjavac] 1. ERROR in
C:\HYBRISCOMM6600P\hybris\bin\custom\training\trainingcore\src\de\hybris\training\core\job\UsersFindJob.java
(at line 3)
[yjavac] import com.lowagie.text.Document;
[yjavac] ^^^^^^^^^^^
[yjavac] The import com.lowagie cannot be resolved
[yjavac] ----------
[yjavac] 2. ERROR in
C:\HYBRISCOMM6600P\hybris\bin\custom\training\trainingcore\src\de\hybris\training\core\job\UsersFindJob.java
(at line 5)
[yjavac] import com.lowagie.text.Phrase;
[yjavac] ^^^^^^^^^^^
[yjavac] The import com.lowagie cannot be resolved
[yjavac] ----------
[yjavac] 3. ERROR in
C:\HYBRISCOMM6600P\hybris\bin\custom\training\trainingcore\src\de\hybris\training\core\job\UsersFindJob.java
(at line 7)
[yjavac] import com.lowagie.text.pdf.PdfPTable;
[yjavac] ^^^^^^^^^^^
[yjavac] The import com.lowagie cannot be resolved
[yjavac] ----------
[yjavac] 4. ERROR in
C:\HYBRISCOMM6600P\hybris\bin\custom\training\trainingcore\src\de\hybris\training\core\job\UsersFindJob.java
(at line 8)
[yjavac] import com.lowagie.text.pdf.PdfWriter;
[yjavac] ^^^^^^^^^^^
[yjavac] The import com.lowagie cannot be resolved
[yjavac] ----------
[yjavac] 5. ERROR in
C:\HYBRISCOMM6600P\hybris\bin\custom\training\trainingcore\src\de\hybris\training\core\job\UsersFindJob.java
(at line 75)
[yjavac] Document documento = new Document();
[yjavac] ^^^^^^^^
[yjavac] Document cannot be resolved to a type
[yjavac] ----------
[yjavac] 6. ERROR in
C:\HYBRISCOMM6600P\hybris\bin\custom\training\trainingcore\src\de\hybris\training\core\job\UsersFindJob.java
(at line 75)
[yjavac] Document documento = new Document();
[yjavac] ^^^^^^^^
[yjavac] Document cannot be resolved to a type
[yjavac] ----------
[yjavac] 7. ERROR in
C:\HYBRISCOMM6600P\hybris\bin\custom\training\trainingcore\src\de\hybris\training\core\job\UsersFindJob.java
(at line 80)
[yjavac] PdfWriter.getInstance(documento, fop);
[yjavac] ^^^^^^^^^
[yjavac] PdfWriter cannot be resolved
[yjavac] ----------
[yjavac] 8. ERROR in
C:\HYBRISCOMM6600P\hybris\bin\custom\training\trainingcore\src\de\hybris\training\core\job\UsersFindJob.java
(at line 88)
[yjavac] PdfPTable tabla = new PdfPTable(firstNames.size());
[yjavac] ^^^^^^^^^
[yjavac] PdfPTable cannot be resolved to a type
[yjavac] ----------
[yjavac] 9. ERROR in
C:\HYBRISCOMM6600P\hybris\bin\custom\training\trainingcore\src\de\hybris\training\core\job\UsersFindJob.java
(at line 88)
[yjavac] PdfPTable tabla = new PdfPTable(firstNames.size());
[yjavac] ^^^^^^^^^
[yjavac] PdfPTable cannot be resolved to a type
[yjavac] ----------
[yjavac] 10. ERROR in
C:\HYBRISCOMM6600P\hybris\bin\custom\training\trainingcore\src\de\hybris\training\core\job\UsersFindJob.java
(at line 91)
[yjavac] tabla.addCell(new Phrase(firstNames.get(i)));
[yjavac] ^^^^^^
[yjavac] Phrase cannot be resolved to a type
[yjavac] ----------
[yjavac] 10 problems (10 errors)
我也将 itextpdf-5.1.0.jar
导入到 <classpathentry kind="lib" path="lib/itextpdf-5.1.0.jar"/>
但仍然相同(复制 jar 后,除了放入 .classpath 之外没有做任何其他事情)
为什么会出现错误?
None 的解决方案在网上有效。 none 其中用于 hybris。
我能做什么?我找不到 java class 的方法。我需要将给定字符串数组列表导出为 pdf。
默认情况下,hybris 包括在您的扩展库文件夹中找到的所有库。在您的 IDE 中,您需要自己引用库。也许您混淆了 lib 文件夹?检查您是否将库放入
\hybris\bin\custom\training\trainingcore\lib
您所遵循的步骤非常适合导入 external lib
。
我认为您需要针对您的版本关注 itextpdf doc。最新版本 (itextpdf-5.1.0.jar) com.lowagie
不存在。您应该使用 com.itextpdf
而不是 com.lowagie
This answer 将帮助您解决问题。
可以参考this blog.
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();
}
}
这是我的class。 Intellij 没有显示任何错误,但是当我让 ant clean all 时,那些来了:
[yjavac] 1. ERROR in C:\HYBRISCOMM6600P\hybris\bin\custom\training\trainingcore\src\de\hybris\training\core\job\UsersFindJob.java (at line 3)
[yjavac] import com.lowagie.text.Document;
[yjavac] ^^^^^^^^^^^
[yjavac] The import com.lowagie cannot be resolved
[yjavac] ----------
[yjavac] 2. ERROR in C:\HYBRISCOMM6600P\hybris\bin\custom\training\trainingcore\src\de\hybris\training\core\job\UsersFindJob.java (at line 5)
[yjavac] import com.lowagie.text.Phrase;
[yjavac] ^^^^^^^^^^^
[yjavac] The import com.lowagie cannot be resolved
[yjavac] ----------
[yjavac] 3. ERROR in C:\HYBRISCOMM6600P\hybris\bin\custom\training\trainingcore\src\de\hybris\training\core\job\UsersFindJob.java (at line 7)
[yjavac] import com.lowagie.text.pdf.PdfPTable;
[yjavac] ^^^^^^^^^^^
[yjavac] The import com.lowagie cannot be resolved
[yjavac] ----------
[yjavac] 4. ERROR in C:\HYBRISCOMM6600P\hybris\bin\custom\training\trainingcore\src\de\hybris\training\core\job\UsersFindJob.java (at line 8)
[yjavac] import com.lowagie.text.pdf.PdfWriter;
[yjavac] ^^^^^^^^^^^
[yjavac] The import com.lowagie cannot be resolved
[yjavac] ----------
[yjavac] 5. ERROR in C:\HYBRISCOMM6600P\hybris\bin\custom\training\trainingcore\src\de\hybris\training\core\job\UsersFindJob.java (at line 75)
[yjavac] Document documento = new Document();
[yjavac] ^^^^^^^^
[yjavac] Document cannot be resolved to a type
[yjavac] ----------
[yjavac] 6. ERROR in C:\HYBRISCOMM6600P\hybris\bin\custom\training\trainingcore\src\de\hybris\training\core\job\UsersFindJob.java (at line 75)
[yjavac] Document documento = new Document();
[yjavac] ^^^^^^^^
[yjavac] Document cannot be resolved to a type
[yjavac] ----------
[yjavac] 7. ERROR in C:\HYBRISCOMM6600P\hybris\bin\custom\training\trainingcore\src\de\hybris\training\core\job\UsersFindJob.java (at line 80)
[yjavac] PdfWriter.getInstance(documento, fop);
[yjavac] ^^^^^^^^^
[yjavac] PdfWriter cannot be resolved
[yjavac] ----------
[yjavac] 8. ERROR in C:\HYBRISCOMM6600P\hybris\bin\custom\training\trainingcore\src\de\hybris\training\core\job\UsersFindJob.java (at line 88)
[yjavac] PdfPTable tabla = new PdfPTable(firstNames.size());
[yjavac] ^^^^^^^^^
[yjavac] PdfPTable cannot be resolved to a type
[yjavac] ----------
[yjavac] 9. ERROR in C:\HYBRISCOMM6600P\hybris\bin\custom\training\trainingcore\src\de\hybris\training\core\job\UsersFindJob.java (at line 88)
[yjavac] PdfPTable tabla = new PdfPTable(firstNames.size());
[yjavac] ^^^^^^^^^
[yjavac] PdfPTable cannot be resolved to a type
[yjavac] ----------
[yjavac] 10. ERROR in C:\HYBRISCOMM6600P\hybris\bin\custom\training\trainingcore\src\de\hybris\training\core\job\UsersFindJob.java (at line 91)
[yjavac] tabla.addCell(new Phrase(firstNames.get(i)));
[yjavac] ^^^^^^
[yjavac] Phrase cannot be resolved to a type
[yjavac] ----------
[yjavac] 10 problems (10 errors)
我也将 itextpdf-5.1.0.jar
导入到 <classpathentry kind="lib" path="lib/itextpdf-5.1.0.jar"/>
但仍然相同(复制 jar 后,除了放入 .classpath 之外没有做任何其他事情)
为什么会出现错误?
None 的解决方案在网上有效。 none 其中用于 hybris。
我能做什么?我找不到 java class 的方法。我需要将给定字符串数组列表导出为 pdf。
默认情况下,hybris 包括在您的扩展库文件夹中找到的所有库。在您的 IDE 中,您需要自己引用库。也许您混淆了 lib 文件夹?检查您是否将库放入
\hybris\bin\custom\training\trainingcore\lib
您所遵循的步骤非常适合导入 external lib
。
我认为您需要针对您的版本关注 itextpdf doc。最新版本 (itextpdf-5.1.0.jar) com.lowagie
不存在。您应该使用 com.itextpdf
而不是 com.lowagie
This answer 将帮助您解决问题。
可以参考this blog.