powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Использование дизайн-файлов BIRT в IntelliJ
7 сообщений из 7, страница 1 из 1
Использование дизайн-файлов BIRT в IntelliJ
    #39034767
Полуламер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотел поинтересоваться, возможно ли сделать сей финт ушами. Есть файл rptdesign, созданный в Eclipse с помощью генератора отчетов BIRT, есть простой пример:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
public class ExecuteBIRTReport {
	static void executeReport() throws EngineException {

		EngineConfig config = null;
		IReportEngine engine = null;
		try {
			config = new EngineConfig();
			config.setLogConfig("/logs", java.util.logging.Level.WARNING);

			Platform.startup(config);
			IReportEngineFactory factory = (IReportEngineFactory) Platform
					.createFactoryObject(IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY);
			engine = factory.createReportEngine(config);
			IReportRunnable report = null;
			String reportFilepath = "C://Users//user//workspace//TestProject//Products.rptdesign";
			try {
				report = engine.openReportDesign(reportFilepath);
			} catch (Exception e) {
				System.err.println("Report " + reportFilepath + " not found!\n");
				engine.destroy();
				return;
			}

			IRunAndRenderTask task = engine.createRunAndRenderTask(report);

			PDFRenderOption options = new PDFRenderOption();
			options.setOutputFormat("pdf");
			options.setOutputFileName("C:/Users/user/workspace/TestProject/REPORT.pdf");

			task.setRenderOption(options);

			try {
				task.run();
			} catch (EngineException e1) {
				System.err.println("Report " + reportFilepath + " run failed.\n");
				System.err.println(e1.toString());
			}
			engine.destroy();
			return;
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		try {
			executeReport();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}


Чтобы скомпилировать это в IntelliJ, импортировал jar-файлы:

com.ibm.icu_54.1.1.v201501272100.jar
org.eclipse.birt.core_4.5.0.v201506092134.jar
org.eclipse.birt.data_4.5.0.v201506092134.jar
org.eclipse.birt.report.data.adapter_4.5.0.v201506092134.jar
org.eclipse.birt.report.engine_4.5.0.v201506092134.jar
org.eclipse.birt.report.model_4.5.0.v201506092134.jar
org.eclipse.core.runtime_3.11.0.v20150405-1723.jar
org.eclipse.datatools.connectivity.oda_3.4.3.v201405301249.jar
org.eclipse.equinox.common_3.7.0.v20150402-1709.jar
org.eclipse.equinox.common_3.7.0.v20150402-1709.jar
org.eclipse.osgi_3.10.100.v20150529-1857.jar

Все отрабатывает, но на этапе создания файла, т.е. на строчке

Код: java
1.
task.run();



происходит ошибка: The output format <...> is not supported. Из Eclipse файл отчета создается без проблем. Подскажите, есть ли смысл бодаться с этим дальше или дело безнадежное? Может, не хватает еще каких-нибудь jar'ов?
...
Рейтинг: 0 / 0
Использование дизайн-файлов BIRT в IntelliJ
    #39034773
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Полуламер,

Похоже что не все jar-ы подключены. А не проще ли зависимости через Maven протащить?
...
Рейтинг: 0 / 0
Использование дизайн-файлов BIRT в IntelliJ
    #39034813
Полуламер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

а не подскажете, как это попроще сделать? Я с Eclipse не работал и там pom.xml для приведенного примера совсем маленький, зависимостей практически никаких нет, вот он на всякий случай:

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
<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>TestProject</groupId>
	<artifactId>TestProject</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<build>
		<sourceDirectory>src</sourceDirectory>
		<plugins>
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.3</version>
				<configuration>
					<source>1.7</source>
					<target>1.7</target>
				</configuration>
			</plugin>
		</plugins>
	</build>
	<repositories>
		<repository>
			<id>central</id>
			<url>http://repo1.maven.org/maven2/</url>
		</repository>
		<repository>
			<id>codelds</id>
			<url>https://code.lds.org/nexus/content/groups/main-repo</url>
		</repository>
		<repository>
			<id>jboss</id>
			<name>JBoss Repository</name>
			<url>https://repository.jboss.org/nexus/content/groups/public/</url>
		</repository>

		<repository>
			<releases>
				<enabled>false</enabled>
			</releases>
			<snapshots>
				<enabled>true</enabled>
				<updatePolicy>daily</updatePolicy>
				<checksumPolicy>ignore</checksumPolicy>
			</snapshots>
			<id>sonatype-nexus-snapshots</id>
			<name>Sonatype Nexus Snapshots</name>
			<url>https://oss.sonatype.org/content/repositories/snapshots</url>
		</repository>

		<repository>
			<releases>
				<enabled>true</enabled>
			</releases>
			<snapshots>
				<enabled>false</enabled>
				<updatePolicy>daily</updatePolicy>
				<checksumPolicy>ignore</checksumPolicy>
			</snapshots>
			<id>sonatype-nexus-releases</id>
			<name>Sonatype Nexus Snapshots</name>
			<url>https://oss.sonatype.org/content/repositories/releases</url>
		</repository>

	</repositories>
	<dependencies>

		<dependency>
			<groupId>org.eclipse.birt.runtime</groupId>
			<artifactId>org.eclipse.birt.runtime</artifactId>
			<version>4.3.0</version>
			<exclusions>
				<exclusion>
					<artifactId>org.apache.poi</artifactId>
					<groupId>org.eclipse.birt.runtime</groupId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.apache.poi</groupId>
			<artifactId>poi</artifactId>
			<version>3.9</version>
		</dependency>
	</dependencies>
</project>



Вероятно, есть смысл использовать какой-нибудь еще инструментарий, чтобы посмотреть на этапе выполнения, какие jar пытается найти этот файл проекта?
...
Рейтинг: 0 / 0
Использование дизайн-файлов BIRT в IntelliJ
    #39034839
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если погуглить класс PDFEmitter, то он находится в неком org.eclipse.birt.runtime
http://mvnrepository.com/artifact/org.eclipse.birt.runtime
Похоже что именно BIRT Runtime в classpath и нет.
...
Рейтинг: 0 / 0
Использование дизайн-файлов BIRT в IntelliJ
    #39034899
Полуламер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подключил org.eclipse.birt.runtime, этот jar потребовал еще нескольких, доходит в новом составе до пресловутой строчки и явно пытается что-сделать - процесс идет, но потом валится с сообщением:

Error happened while running the report.

Опять чего-то не хватает, а вот чего?
...
Рейтинг: 0 / 0
Использование дизайн-файлов BIRT в IntelliJ
    #39035006
Полуламер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тупо скопировал имена jar'ов из Eclipse-проекта (Maven Dependencies), нашел их в репозитории, подсоединил - вроде работает, вывел отчет в разных форматах (pdf, xlsx, docx, html). Для тех, кому вдруг понадобится, вот список:

авторorg.eclipse.birt.runtime-4.3.0.jar
org.eclipse.core.contenttype-3.4.200.v20130326-1255.jar
org.eclipse.equinox.registry-3.5.300.v20130327-1442.jar
org.eclipse.osgi.services-3.3.100.v20130513-1956.jar
org.eclipse.update.configurator-3.3.200.v20130326-1319.jar
org.eclipse.osgi-3.9.0.v20130529-1710.jar
org.apache.commons.logging-1.1.1.v201101211721.jar
org.eclipse.equinox.app-1.3.100.v20130327-1442.jar
org.eclipse.core.resources-3.8.100.v20130521-2026.jar
org.eclipse.datatools.connectivity.oda-3.4.0.v201305170924.jar
org.eclipse.core.runtime-3.9.0.v20130326-1255.jar
org.eclipse.datatools.connectivity.oda.flatfile-3.1.5.v201305221644.jar
org.eclipse.core.jobs-3.5.300.v20130429-1813.jar
org.eclipse.emf.common-2.9.0.v20130528-0742.jar
org.eclipse.emf-2.6.0.v20130610-0406.jar
org.eclipse.datatools.connectivity.oda.consumer-3.2.6.v201305170644.jar
org.eclipse.orbit.mongodb-2.10.1.v20130422-1135.jar
org.eclipse.datatools.enablement.oda.ws-1.2.5.v201305031101.jar
org.eclipse.emf.ecore-2.9.0.v20130528-0742.jar
org.eclipse.core.expressions-3.4.500.v20130515-1343.jar
org.eclipse.datatools.connectivity-1.2.8.v201305301230.jar
org.eclipse.equinox.preferences-3.5.100.v20130422-1538.jar
org.eclipse.core.filesystem-1.4.0.v20130514-1240.jar
org.eclipse.emf.ecore.change-2.9.0.v20130528-0742.jar
org.eclipse.equinox.common-3.6.200.v20130402-1505.jar
org.eclipse.emf.ecore.xmi-2.9.0.v20130528-0742.jar
org.eclipse.datatools.enablement.oda.xml-1.2.5.v201305031101.jar
com.ibm.icu-50.1.1.v201304230130.jar
org.eclipse.datatools.connectivity.oda.profile-3.2.8.v201209080429.jar
org.w3c.dom.smil-1.0.0.jar
org.eclipse.datatools.enablement.hsqldb.dbdefinition-1.0.0.v201107221502.jar
org.eclipse.datatools.modelbase.derby-1.0.0.v201107221519.jar
org.apache.batik.parser-1.6.0.jar
org.apache.batik.util.gui-1.6.0.jar
javax.xml.stream-1.0.1.v201004272200.jar
org.eclipse.datatools.enablement.ibm.informix-1.0.1.v201107221502.jar
derby-10.5.1000001.jar
org.apache.batik.svggen-1.6.0.jar
commons-cli-1.0.jar
commons-logging-1.0.jar
commons-lang-1.0.jar
junit-3.7.jar
org.apache.batik.pdf-1.6.0.jar
org.eclipse.datatools.connectivity.dbdefinition.genericJDBC-1.0.1.v201107221459.jar
org.eclipse.datatools.connectivity.sqm.core-1.2.6.v201212070447.jar
org.apache.batik.dom-1.6.0.jar
org.apache.batik.css-1.6.0.jar
org.eclipse.datatools.enablement.ibm.db2.luw-1.0.2.v201107221502.jar
poi-ooxml-3.9.jar
org.eclipse.datatools.connectivity.oda.design-3.3.6.v201212070447.jar
org.eclipse.datatools.enablement.mysql-1.0.4.v201212120617.jar
poi-ooxml-schemas-3.9.jar
org.eclipse.datatools.connectivity.db.generic-1.0.1.v201107221459.jar
org.eclipse.datatools.enablement.hsqldb-1.0.0.v201107221502.jar
org.apache.xml.resolver-1.2.0.jar
org.eclipse.datatools.enablement.msft.sqlserver.dbdefinition-1.0.1.v201201240505.jar
org.eclipse.datatools.enablement.ibm.informix.dbdefinition-1.0.4.v201107221502.jar
org.eclipse.datatools.modelbase.sql-1.0.6.v201208230744.jar
org.w3c.dom.svg-1.1.0.jar
org.apache.batik.dom.svg-1.6.0.jar
org.apache.batik.ext.awt-1.6.0.jar
org.eclipse.datatools.enablement.msft.sqlserver-1.0.2.v201212120617.jar
dom4j-1.6.1.jar
xml-apis-1.0.b2.jar
org.mozilla.javascript-1.7.2.jar
org.eclipse.datatools.enablement.postgresql-1.1.1.v201205252207.jar
org.apache.batik.transcoder-1.6.0.jar
org.eclipse.datatools.enablement.ibm.db2.luw.dbdefinition-1.0.4.v201107221502.jar
org.eclipse.datatools.connectivity.apache.derby.dbdefinition-1.0.2.v201107221459.jar
org.eclipse.datatools.enablement.oracle-1.0.0.v201107221506.jar
org.apache.batik.util-1.6.0.jar
org.eclipse.datatools.enablement.oracle.dbdefinition-1.0.103.v201206010214.jar
xmlbeans-2.3.0.jar
stax-api-1.0.1.jar
org.apache.batik.xml-1.6.0.jar
org.apache.xml.serializer-2.7.1.jar
org.apache.xerces-2.9.0.jar
org.eclipse.datatools.modelbase.sql.query-1.1.4.v201212120619.jar
org.eclipse.datatools.modelbase.dbdefinition-1.0.2.v201107221519.jar
org.eclipse.datatools.enablement.mysql.dbdefinition-1.0.4.v201109022331.jar
javax.wsdl-1.5.1.jar
Tidy-1.jar
org.eclipse.datatools.enablement.postgresql.dbdefinition-1.0.2.v201110070445.jar
org.w3c.css.sac-1.3.0.jar
flute-1.3.jar
org.eclipse.datatools.connectivity.apache.derby-1.0.103.v201212070447.jar
org.eclipse.datatools.connectivity.console.profile-1.0.10.v201109250955.jar
org.apache.commons.codec-1.3.0.jar
com.lowagie.text-2.1.7.jar
org.apache.batik.bridge-1.6.0.jar
poi-3.9.jar
commons-codec-1.5.jar
...
Рейтинг: 0 / 0
Использование дизайн-файлов BIRT в IntelliJ
    #39035418
Полуламер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Жаль, что не могу удалить тупой список jar'ов, который запостил перед этим - зачем все это искать и собирать, maven на что? Все эти jar'ы полезны только тому, кто принципиально не желает работать с этой мощной вещью. Как и предполагал уважаемый Blazkowicz , org.eclipse.birt.runtime - первопричина всего. Всего-то навсего надо добавить в pom.xml для проекта в IntelliJ следующую зависимость (с учетом того, что org.eclipse.birt.runtime_<номер>.jar находится в репозитории по указанному адресу):

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
      <dependency>
          <groupId>org.eclipse.birt.runtime</groupId>
          <artifactId>org.eclipse.birt.runtime</artifactId>
          <version>4.3.0</version>
          <exclusions>
              <exclusion>
                  <artifactId>org.apache.poi</artifactId>
                  <groupId>org.eclipse.birt.runtime</groupId>
              </exclusion>
          </exclusions>
      </dependency>



И после можно спокойно использовать эти самые созданные в Eclipse c помощью BIRT rptdesign-файлы, генеря из них отчеты.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Использование дизайн-файлов BIRT в IntelliJ
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]