I am trying to make war file OSGI enabled. The war is building fine
using maven-bundle-plugin, however when I deploy it to
KARAF_HOME/deploy, I get the following exception. I should mention
that the generated MANIFEST.MF has this import only one and not
duplicated, like the exception says. I have attached the pom.xml that
should generate the war file with "mvn package".

Thank you.

2014-07-17 14:23:23,515 | DEBUG | raf-3.0.0/deploy | WarDeployer
               | 107 - org.ops4j.pax.web.pax-web-deployer - 3.0.5 |
Transforming artifact with URL:
file:/home/mansour/workspace/apache-karaf-3.0.0/deploy/jetspeed.war
2014-07-17 14:23:23,516 | DEBUG | raf-3.0.0/deploy | WarDeployer
               | 107 - org.ops4j.pax.web.pax-web-deployer - 3.0.5 |
Transformed URL of
/home/mansour/workspace/apache-karaf-3.0.0/deploy/jetspeed.war to
following 
file:/home/mansour/workspace/apache-karaf-3.0.0/deploy/jetspeed.war?Web-ContextPath=jetspeed&Bundle-SymbolicName=jetspeed&Bundle-Version=0.0.0
2014-07-17 14:23:23,523 | DEBUG | raf-3.0.0/deploy | BndUtils
               | 20 - org.ops4j.pax.swissbox.bnd - 1.7.0 | Creating
bundle for [file:/home/mansour/workspace/apache-karaf-3.0.0/deploy/jetspeed.war]
2014-07-17 14:23:23,523 | DEBUG | raf-3.0.0/deploy | BndUtils
               | 20 - org.ops4j.pax.swissbox.bnd - 1.7.0 | Overwrite
mode: MERGE
2014-07-17 14:23:23,523 | TRACE | raf-3.0.0/deploy | BndUtils
               | 20 - org.ops4j.pax.swissbox.bnd - 1.7.0 | Using
instructions {Bundle-SymbolicName=jetspeed, Bundle-Version=0.0.0,
Bundle-ClassPath=WEB-INF/classes,WEB-INF/lib/lucene-queries-3.1.0.jar,WEB-INF/lib/nekohtml-1.9.7.jar,WEB-INF/lib/spring-tx-2.5.6.jar,WEB-INF/lib/lucene-analyzers-3.1.0.jar,WEB-INF/lib/castor-1.1.1.jar,WEB-INF/lib/jettison-1.1.jar,WEB-INF/lib/commons-httpclient-3.0.1.jar,WEB-INF/lib/lucene-highlighter-3.1.0.jar,WEB-INF/lib/commons-betwixt-0.8.jar,WEB-INF/lib/jdom-1.1.jar,WEB-INF/lib/oro-2.0.8.jar,WEB-INF/lib/commons-digester-1.8.jar,WEB-INF/lib/xmlbeans-2.4.0.jar,WEB-INF/lib/commons-beanutils-core-1.7.0.jar,WEB-INF/lib/jackson-jaxrs-1.3.2.jar,WEB-INF/lib/jetspeed-page-layout-2.2.2.jar,WEB-INF/lib/solr-core-3.1.0.jar,WEB-INF/lib/spring-aop-2.5.6.jar,WEB-INF/lib/cxf-rt-bindings-xml-2.2.5.jar,WEB-INF/lib/openxri-client-1.2.0.jar,WEB-INF/lib/jstl-1.1.2.jar,WEB-INF/lib/com-google-step2-common-2.2.2.jar,WEB-INF/lib/cxf-rt-core-2.2.5.jar,WEB-INF/lib/jetspeed-search-2.2.2.jar,WEB-INF/lib/zookeeper-3.3.1.jar,WEB-INF/lib/commons-lang-2.4.jar,WEB-INF/lib/spring-web-2.5.6.jar,WEB-INF/lib/jetspeed-registry-2.2.2.jar,WEB-INF/lib/commons-fileupload-1.2.jar,WEB-INF/lib/stax-api-1.0.1.jar,WEB-INF/lib/openid4java-consumer-0.9.5.jar,WEB-INF/lib/xmlsec-1.3.0.jar,WEB-INF/lib/commons-beanutils-1.8.0.jar,WEB-INF/lib/jetspeed-file-cache-2.2.2.jar,WEB-INF/lib/spring-context-support-2.5.6.jar,WEB-INF/lib/XmlSchema-1.4.5.jar,WEB-INF/lib/commons-codec-1.3.jar,WEB-INF/lib/jetspeed-locator-2.2.2.jar,WEB-INF/lib/jackson-mapper-asl-1.3.2.jar,WEB-INF/lib/xml-apis-1.3.03.jar,WEB-INF/lib/jackson-xc-1.3.2.jar,WEB-INF/lib/geronimo-jaxb_2.1_spec-1.0.jar,WEB-INF/lib/solr-solrj-3.1.0.jar,WEB-INF/lib/cxf-api-2.2.5.jar,WEB-INF/lib/jetspeed-portlet-factory-2.2.2.jar,WEB-INF/lib/lucene-memory-3.1.0.jar,WEB-INF/lib/jetspeed-id-generator-2.2.2.jar,WEB-INF/lib/spring-ldap-1.3.0.RELEASE-all.jar,WEB-INF/lib/lucene-spellchecker-3.1.0.jar,WEB-INF/lib/jetspeed-portal-site-2.2.2.jar,WEB-INF/lib/velocity-tools-1.3.jar,WEB-INF/lib/xercesImpl-2.8.1.jar,WEB-INF/lib/db-ojb-1.0.3.jar,WEB-INF/lib/commons-dbcp-1.2.2.jar,WEB-INF/lib/commons-validator-1.3.1.jar,WEB-INF/lib/geronimo-activation_1.1_spec-1.0.2.jar,WEB-INF/lib/ddlutils-1.0.jar,WEB-INF/lib/portals-bridges-velocity-2.0.jar,WEB-INF/lib/jetspeed-cm-2.2.2.jar,WEB-INF/lib/solr-noggit-3.1.0.jar,WEB-INF/lib/jetspeed-deploy-tools-2.2.2.jar,WEB-INF/lib/jetspeed-serializer-2.2.2.jar,WEB-INF/lib/cxf-rt-transports-http-2.2.5.jar,WEB-INF/lib/slf4j-ext-1.5.6.jar,WEB-INF/lib/xalan-2.7.0.jar,WEB-INF/lib/jetspeed-page-manager-2.2.2.jar,WEB-INF/lib/dom4j-1.6.1.jar,WEB-INF/lib/cxf-common-schemas-2.2.5.jar,WEB-INF/lib/neethi-2.0.4.jar,WEB-INF/lib/pluto-container-2.0.3.jar,WEB-INF/lib/spring-ojb-2.0-rc2.jar,WEB-INF/lib/commons-logging-1.1.1.jar,WEB-INF/lib/geronimo-annotation_1.0_spec-1.1.1.jar,WEB-INF/lib/spring-orm-2.5.6.jar,WEB-INF/lib/jackson-core-asl-1.3.2.jar,WEB-INF/lib/lucene-misc-3.1.0.jar,WEB-INF/lib/lucene-spatial-3.1.0.jar,WEB-INF/lib/ehcache-core-1.7.2.jar,WEB-INF/lib/commons-io-1.4.jar,WEB-INF/lib/wstx-asl-3.2.7.jar,WEB-INF/lib/cxf-rt-databinding-aegis-2.2.5.jar,WEB-INF/lib/geronimo-jta_1.1_spec-1.1.jar,WEB-INF/lib/geronimo-javamail_1.4_spec-1.6.jar,WEB-INF/lib/spring-context-2.5.6.jar,WEB-INF/lib/standard-1.1.2.jar,WEB-INF/lib/httpclient-4.0.1.jar,WEB-INF/lib/cglib-2.1_3.jar,WEB-INF/lib/jetspeed-statistics-2.2.2.jar,WEB-INF/lib/geronimo-stax-api_1.0_spec-1.0.1.jar,WEB-INF/lib/jcl-over-slf4j-1.5.6.jar,WEB-INF/lib/spring-core-2.5.6.jar,WEB-INF/lib/jakarta-regexp-1.4.jar,WEB-INF/lib/jetspeed-rdbms-2.2.2.jar,WEB-INF/lib/jetspeed-header-resource-2.2.2.jar,WEB-INF/lib/javolution-5.2.6.jar,WEB-INF/lib/cxf-common-utilities-2.2.5.jar,WEB-INF/lib/jsr311-api-1.0.jar,WEB-INF/lib/openxri-syntax-1.2.0.jar,WEB-INF/lib/jaxen-1.0-FCS.jar,WEB-INF/lib/request-1.0.1.jar,WEB-INF/lib/spring-beans-2.5.6.jar,WEB-INF/lib/random-1.0.2.jar,WEB-INF/lib/commons-pool-1.3.jar,WEB-INF/lib/stax-1.2.0.jar,WEB-INF/lib/jetspeed-capability-2.2.2.jar,WEB-INF/lib/aopalliance-1.0.jar,WEB-INF/lib/httpcore-4.0.1.jar,WEB-INF/lib/openid4java-nodeps-0.9.5.jar,WEB-INF/lib/icu4j-3.4.4.jar,WEB-INF/lib/log4j-1.2.14.jar,WEB-INF/lib/geronimo-javamail_1.4_provider-1.7.jar,WEB-INF/lib/jline-0.9.94.jar,WEB-INF/lib/slf4j-log4j12-1.5.6.jar,WEB-INF/lib/commons-collections-3.2.jar,WEB-INF/lib/velocity-1.6.3.jar,WEB-INF/lib/junit-3.8.1.jar,WEB-INF/lib/jetspeed-profiler-2.2.2.jar,WEB-INF/lib/asm-1.5.3.jar,WEB-INF/lib/slf4j-api-1.5.6.jar,WEB-INF/lib/cxf-rt-frontend-jaxrs-2.2.5.jar,WEB-INF/lib/lucene-core-3.1.0.jar,WEB-INF/lib/jetspeed-security-2.2.2.jar,WEB-INF/lib/jaxb-impl-2.1.9.jar,WEB-INF/lib/solr-commons-csv-3.1.0.jar,WEB-INF/lib/wsdl4j-1.6.2.jar,WEB-INF/lib/jetspeed-portal-2.2.2.jar,WEB-INF/lib/jetspeed-sso-2.2.2.jar,WEB-INF/lib/spring-jdbc-2.5.6.jar,WEB-INF/lib/commons-configuration-1.6.jar,
Export-Package=!*,
Import-Package=javax.servlet,javax.servlet.http,javax.*;
resolution:=optional,javax.servlet.jsp;
resolution:=optional,javax.servlet.jsp.el;
resolution:=optional,javax.servlet.jsp.jstl.*;
resolution:=optional,org.apache.jasper.*;resolution:=optional,org.apache.taglibs.*;resolution:=optional,com.sun.el.*;resolution:=optional,org.xml.*;
resolution:=optional,org.w3c.*;
resolution:=optional,org.apache.commons.logging;provider=paxlogging;resolution:=optional,org.apache.commons.logging.impl;provider=paxlogging;resolution:=optional,org.apache.log4j;provider=paxlogging;resolution:=optional,org.apache.log4j.spi;provider=paxlogging;resolution:=optional,org.apache.log4j.xml;provider=paxlogging;resolution:=optional,org.slf4j;provider=paxlogging;resolution:=optional,org.slf4j.helpers;provider=paxlogging;resolution:=optional,org.slf4j.spi;provider=paxlogging;resolution:=optional,org.apache.jetspeed.util;resolution:=optional,org.apache.jetspeed.engine.servlet;resolution:=optional,org.apache.jetspeed.container.session;resolution:=optional,org.apache.jetspeed.velocity;resolution:=optional,org.apache.jetspeed.login;resolution:=optional,org.apache.jetspeed.manager;resolution:=optional,
Web-ContextPath=/jetspeed,
-removeheaders=Private-Package,Ignore-Package,
WAR-URL=file:/home/mansour/workspace/apache-karaf-3.0.0/deploy/jetspeed.war}

2014-07-17 14:23:28,012 | ERROR | raf-3.0.0/deploy | fileinstall
               | 16 - org.apache.felix.fileinstall - 3.2.6 | Failed to
install artifact:
/home/mansour/workspace/apache-karaf-3.0.0/deploy/jetspeed.war
org.osgi.framework.BundleException: Duplicate import: javax.servlet.jsp
        at 
org.apache.felix.framework.util.manifestparser.ManifestParser.normalizeImportClauses(ManifestParser.java:342)[org.apache.felix.framework-4.2.1.jar:]
        at 
org.apache.felix.framework.util.manifestparser.ManifestParser.<init>(ManifestParser.java:163)[org.apache.felix.framework-4.2.1.jar:]
        at 
org.apache.felix.framework.BundleRevisionImpl.<init>(BundleRevisionImpl.java:118)[org.apache.felix.framework-4.2.1.jar:]
        at 
org.apache.felix.framework.BundleImpl.createRevision(BundleImpl.java:1199)[org.apache.felix.framework-4.2.1.jar:]
        at 
org.apache.felix.framework.BundleImpl.<init>(BundleImpl.java:96)[org.apache.felix.framework-4.2.1.jar:]
        at 
org.apache.felix.framework.Felix.installBundle(Felix.java:2899)[org.apache.felix.framework-4.2.1.jar:]
        at 
org.apache.felix.framework.BundleContextImpl.installBundle(BundleContextImpl.java:165)[org.apache.felix.framework-4.2.1.jar:]
        at 
org.apache.felix.fileinstall.internal.DirectoryWatcher.installOrUpdateBundle(DirectoryWatcher.java:1030)[16:org.apache.felix.fileinstall:3.2.6]
        at 
org.apache.felix.fileinstall.internal.DirectoryWatcher.install(DirectoryWatcher.java:944)[16:org.apache.felix.fileinstall:3.2.6]
        at 
org.apache.felix.fileinstall.internal.DirectoryWatcher.install(DirectoryWatcher.java:857)[16:org.apache.felix.fileinstall:3.2.6]
        at 
org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:483)[16:org.apache.felix.fileinstall:3.2.6]
        at 
org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:291)[16:org.apache.felix.fileinstall:3.2.6]
<?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/maven-v4_0_0.xsd";>

	<modelVersion>4.0.0</modelVersion>
	<groupId>org.apache.portals.tutorials</groupId>
	<artifactId>jetexpress-portal</artifactId>
	<name>Jetexpress Portal</name>
	<version>1.0-SNAPSHOT</version>
	<packaging>war</packaging>

	<properties>
		<org.apache.portals.jetspeed.version>2.2.2</org.apache.portals.jetspeed.version>
		<org.apache.pluto.version>2.0.3</org.apache.pluto.version>
		<org.apache.portals.applications.apa-logging.version>1.0</org.apache.portals.applications.apa-logging.version>
		<ccpp.version>1.0</ccpp.version>
		<org.apache.portals.bridges.common.version>2.0</org.apache.portals.bridges.common.version>
		<geronimo-servlet_2.4_spec.version>1.1.1</geronimo-servlet_2.4_spec.version>
		<portals.portlet2-api-spec.version>1.0</portals.portlet2-api-spec.version>
		<javax.servlet.jstl.version>1.2</javax.servlet.jstl.version>
		<portal.context.name>jetexpress</portal.context.name>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.apache.portals.jetspeed-2</groupId>
			<artifactId>jetspeed-dependencies</artifactId>
			<version>${org.apache.portals.jetspeed.version}</version>
			<type>pom</type>
		</dependency>
		<dependency>
			<groupId>org.apache.portals.jetspeed-2</groupId>
			<artifactId>jetspeed</artifactId>
			<version>${org.apache.portals.jetspeed.version}</version>
			<type>war</type>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>org.apache.portals.pluto</groupId>
			<artifactId>pluto-container-api</artifactId>
			<version>${org.apache.pluto.version}</version>
			<scope>provided</scope>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-dependency-plugin</artifactId>
				<executions>
					<execution>
						<id>copy</id>
						<phase>package</phase>
						<goals>
							<goal>copy</goal>
						</goals>
						<configuration>
							<artifactItems>
								<artifactItem>
									<groupId>org.apache.portals.jetspeed-2</groupId>
									<artifactId>j2-admin</artifactId>
									<version>${org.apache.portals.jetspeed.version}</version>
									<type>war</type>
									<overWrite>false</overWrite>
									<outputDirectory>${project.build.outputDirectory}/WEB-INF/deploy</outputDirectory>
									<destFileName>j2-admin.jar</destFileName>
								</artifactItem>
							</artifactItems>
							<overWriteReleases>false</overWriteReleases>
							<overWriteSnapshots>true</overWriteSnapshots>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-war-plugin</artifactId>
				<configuration>
					<warName>jetspeed</warName>
					<!-- <archive> -->
					<!-- <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile> -->
					<!-- </archive> -->
					<overlays>
						<overlay>
							<id>jetspeed</id>
							<groupId>org.apache.portals.jetspeed-2</groupId>
							<artifactId>jetspeed</artifactId>
							<excludes>
								<exclude>WEB-INF/pages/**</exclude>
								<exclude>WEB-INF/min-pages/**</exclude>
								<exclude>WEB-INF/ui-pages/**</exclude>
								<exclude>WEB-INF/min-ui-pages/**</exclude>
								<exclude>WEB-INF/conf/jetspeed.properties</exclude>
							</excludes>
						</overlay>
					</overlays>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.apache.felix</groupId>
				<artifactId>maven-bundle-plugin</artifactId>
				<version>2.3.7</version>
				<extensions>true</extensions>
				<executions>
					<execution>
						<id>bundle-manifest</id>
						<phase>package</phase>
						<goals>
							<goal>manifest</goal>
						</goals>
					</execution>
				</executions>
				<configuration>
					<unpackBundle>true</unpackBundle>

					<excludeDependencies>*;type=!jar</excludeDependencies>

					<instructions>
						<Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
						<Bundle-Version>${project.version}</Bundle-Version>
						<Embed-Transitive>true</Embed-Transitive>
						<Embed-Directory>WEB-INF/lib</Embed-Directory>
						<Webapp-Context>context1</Webapp-Context>
						<Web-ContextPath>contextpath1</Web-ContextPath>

						<Embed-Dependency>
							*;scope=compile
						</Embed-Dependency>
						<!-- !javax.servlet.jsp, -->
						<!-- !javax.servlet.jsp.el, -->
						<!-- !javax.servlet.jsp.jstl.core, -->
						<!-- !javax.servlet.jsp.jstl.fmt, -->
						<!-- !javax.servlet.jsp.jstl.sql, -->
						<!-- !javax.servlet.jsp.tagext, -->
						<Import-Package>
							*
						</Import-Package>
						<Export-Package />
					</instructions>
					<supportedProjectTypes>
						<supportedProjectType>war</supportedProjectType>
					</supportedProjectTypes>
				</configuration>
			</plugin>


		</plugins>
	</build>

</project>

Reply via email to