Могу ли я создать экземпляр объекта Journal Article и установить каждое свойство без конструктора? - PullRequest
1 голос
/ 25 января 2012

Когда я делаю это, он не компилируется, когда я запускаю build.xml и внедряю,

Я хочу сделать это, поскольку это выглядит намного лучше, чем огромный вызов метода с JournalArticleLocalServiceUtil.addArticle.

JournalArticle journalArticle = new JournalArticleImpl();
journalArticle.setDescription(description);

Кто-нибудь знает, возможно ли это в Liferay 6?

Редактировать: Это вывод, который я получаю:

Buildfile: C:\opt\liferay-six1-dev\code\portlets\migration-portlet\build.xml
compile:
merge:
compile-java:
    [javac] Compiling 1 source file to C:\opt\liferay-six1-dev\code\portlets\migration-portlet\docroot\WEB-INF\classes
    [javac] C:\opt\liferay-six1-dev\code\portlets\migration-portlet\docroot\WEB-INF\src\com\liferay\migration\importdata\JournalArticleImport.java:138: cannot find symbol
    [javac] symbol  : class JournalArticle
    [javac] location: class com.liferay.migration.importdata.JournalArticleImport
    [javac]     private JournalArticle createJournalArticle(ExportedJournalArticle article) {
    [javac]             ^
    [javac] C:\opt\liferay-six1-dev\code\portlets\migration-portlet\docroot\WEB-INF\src\com\liferay\migration\importdata\JournalArticleImport.java:142: cannot find symbol
    [javac] symbol  : class JournalArticle
    [javac] location: class com.liferay.migration.importdata.JournalArticleImport
    [javac]         JournalArticle journalArticle = new JournalArticleImpl();
    [javac]         ^
    [javac] C:\opt\liferay-six1-dev\code\portlets\migration-portlet\docroot\WEB-INF\src\com\liferay\migration\importdata\JournalArticleImport.java:142: cannot find symbol
    [javac] symbol  : class JournalArticleImpl
    [javac] location: class com.liferay.migration.importdata.JournalArticleImport
    [javac]         JournalArticle journalArticle = new JournalArticleImpl();
    [javac]                                             ^
    [javac] 3 errors

BUILD FAILED
C:\opt\liferay-six1-dev\code\build-common-plugin.xml:403: The following error occurred while executing this line:
C:\opt\liferay-six1-dev\code\build-common.xml:94: Compile failed; see the compiler error output for details.

Total time: 1 second

Ответы [ 2 ]

2 голосов
/ 26 января 2012

Как упоминает Джон, библиотека / jar для классов реализации не копируются, если вы используете Plugins SDK. К сожалению, вам не разрешено создавать объект JournalArticle непосредственно из плагина, и вы должны использовать JournalArticleLocalServiceUtil, чтобы создать объект.

1 голос
/ 25 января 2012

Хорошо, теперь, когда у нас произошел сбой компилятора, похоже, у вас просто нет нужных библиотек на пути к классам.

Кроме того, похоже, что вы создаете свои собственные классы в пакете com.liferay - вы не должны этого делать, если не создаете код для Liferay. Если вы строите только тот код, который использует Liferay, вы должны создавать его в соответствии с вашим собственным организационным пакетом.

...