Erstellen Sie ein Java OSGi-Projekt mit Maven und Tycho
1. Die Vorstellung
Der Unterlagen wird nach ... geschrieben
- Eclipse 3.4 (LUNA)
- Tycho 0.20.0
Zuerst stellen Sie sicher, dass Sie Tycho in die Eclipse installiert haben. Wenn nicht, Sie können die Anleitung hier schauen
2. Das OSGi Projekt erstellen (SimpleOSGi)
Zuerst erstellen wir schnell ein OSGi project in die normale Weise.
Geben Sie ein
- Version: 2.0.0.qualifier
- Activator: org.o7planning.tutorial.simpleosgi.Activator
Add:
- org.eclipse.osgi
- org.eclipse.equinox.console
- org.apache.felix.gogo.command
- org.apache.felix.gogo.runtime
- org.apache.felix.gogo.shell
Activator.java
package org.o7planning.tutorial.simpleosgi;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
public class Activator implements BundleActivator {
private static BundleContext context;
static BundleContext getContext() {
return context;
}
public void start(BundleContext bundleContext) throws Exception {
Activator.context = bundleContext;
System.out.println("SimpleOSGi Started");
}
public void stop(BundleContext bundleContext) throws Exception {
Activator.context = null;
System.out.println("SimpleOSGi Stopped");
}
}
3. OSGi laufen (SimpleOSGi)
Wir konfigurieren schnell und starten dieses OSGi um zu sehen, dass der Zustand von erstellten OSGi gut ist.
Drücken Sie die Rechtmaustaste auf das Project SimpleOSGi, und wählen Sie "Run As/Run Configuration.."
Starten OSGi und es läuft gut.
4. Ein Maven Project erstellen (SimpleMaven)
Zunächst erstellen wir schnell ein Maven Project. Das Ziel ist, dass wir später 2 Project Maven Project & Osgi Project , bauen, die Maven & Tycho benutzen. Und zeigt, dass 2 Projekt die Gleichbehandlung haben.
CheckNumeric.java
package org.o7planning.tutorial.simplemaven;
import org.apache.commons.lang3.StringUtils;
public class CheckNumeric {
public static void main(String[] args) {
String text1 = "0123a4";
String text2 = "01234";
boolean result1 = StringUtils.isNumeric(text1);
boolean result2 = StringUtils.isNumeric(text2);
System.out.println(text1 + " is a numeric? " + result1);
System.out.println(text1 + " is a numeric? " + result2);
}
}
pom.xml
<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>org.o7planning</groupId>
<artifactId>SimpleMaven</artifactId>
<version>3.0.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.3.2</version>
</dependency>
</dependencies>
</project>
5. Erstellen Sie MavenParent Project
Das Zweck von diesem Projekt ist Maven & Tycho konfigurieren um 2 oben Projekt zu bauen (build) (SimpleOSGi & SimpleMaven)
Erstellen Sie ein normales Projekt
6. Auf OSGi Projekt konfigurieren (SimpleOSGi)
Zuerst wandeln Sie vom SimpleOSGi Projekt zum Maven Project um. Deshalb ist SimpleOSGi auch ein OSGi project und auch Maven project.
Das Projekt wird zum Maven Projekt umgewandelt und hat eine Fehleranmeldung. Dafür sollen Sie keine Sorge
Beachten Sie: Wenn Ihr OSGi mit der Version AAA und mit der Ende von qualifier hat, sollen Ihr Maven auf die File pom.xml konfigurieren,dass das Projekt mit der Version AAA und der Ende von SNAPSHOT hat. Wie das folgende Beispiel.
Öffnen Sie die File pom.xml und konfigurieren Sie wieder
SimpleOSGi/pom.xml
<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>org.o7planning</groupId>
<artifactId>SimpleOSGi</artifactId>
<version>2.0.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
<parent>
<groupId>org.o7planning</groupId>
<artifactId>MavenParent</artifactId>
<version>1.0.0</version>
<relativePath>../MavenParent/pom.xml</relativePath>
</parent>
</project>
7. Die Konfiguration auf Maven Projekt (SimpleMaven)
Öffnen Sie die File pom.xml auf das Project SimpleMaven und fügen Sie die folgende Code hinzu:
**
<parent>
<groupId>org.o7planning</groupId>
<artifactId>MavenParent</artifactId>
<version>1.0.0</version>
<relativePath>../MavenParent/pom.xml</relativePath>
</parent>
SimpleMaven/pom.xml
<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>org.o7planning</groupId>
<artifactId>SimpleMaven</artifactId>
<version>3.0.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.3.2</version>
</dependency>
</dependencies>
<parent>
<groupId>org.o7planning</groupId>
<artifactId>MavenParent</artifactId>
<version>1.0.0</version>
<relativePath>../MavenParent/pom.xml</relativePath>
</parent>
</project>
8. Auf Maven Parent konfigurieren
MavenParent/pom.xml
<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>org.o7planning</groupId>
<artifactId>MavenParent</artifactId>
<version>1.0.0</version>
<packaging>pom</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- 0.22.0 : Target location type: Directory is not supported -->
<tycho-version>0.22.0</tycho-version>
</properties>
<repositories>
<!-- Select the P2 repository to be used when resolving dependencies -->
<repository>
<id>eclipse-luna</id>
<layout>p2</layout>
<url>http://download.eclipse.org/releases/luna</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>tycho-snapshots</id>
<url>https://oss.sonatype.org/content/groups/public/</url>
</pluginRepository>
</pluginRepositories>
<build>
<plugins>
<plugin>
<!-- enable tycho build extension -->
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-maven-plugin</artifactId>
<version>${tycho-version}</version>
<extensions>true</extensions>
<configuration>
<dependency-resolution>
<optionalDependencies>ignore</optionalDependencies>
</dependency-resolution>
</configuration>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-versions-plugin</artifactId>
<version>${tycho-version}</version>
<configuration>
<dependency-resolution>
<optionalDependencies>ignore</optionalDependencies>
</dependency-resolution>
</configuration>
</plugin>
<!--
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>target-platform-configuration</artifactId>
<version>${tycho-version}</version>
<configuration>
<target>
<artifact>
<groupId>org.o7planning</groupId>
<artifactId>TargetPlatform</artifactId>
<version>1.0.0</version>
</artifact>
</target>
</configuration>
</plugin>
-->
</plugins>
</build>
<modules>
<module>../SimpleMaven</module>
<module>../SimpleOSGi</module>
</modules>
</project>
Eclipse-Technologie
- Installieren Sie Tycho für Eclipse
- Die Anleitung zum Java OSGi für den Anfänger
- Erstellen Sie ein Java OSGi-Projekt mit Maven und Tycho
- Installieren Sie WindowBuilder für Eclipse
- Welche Plattform sollten Sie wählen für Applikationen Java Desktop entwickeln?
- Programmieren der Java Desktop-Anwendung mit SWT
- Die Anleitung zu Eclipse JFace
- Installiere Eclipse RAP Target Platform
- Installieren Sie RAP e4 Tooling für Eclipse
- Erstellen Sie Eclipse RAP Widget aus dem ClientScripting-basierten Widget
- Die Anleitung zum Eclipse RCP für den Anfänger - Workbench Anwendung
- Installieren Sie RAP Tools für Eclipse
- Die Anleitung zum Eclipse RAP für den Anfänger - e4 Workbench Application
Show More
Anleitungen Maven
- Installieren Sie Maven für Eclipse
- Die Anleitung zum Maven für den Anfänger
- Maven Abhängigkeiten verwalten
- Erstellen Sie ein Multiple-Modul-Projekt mit Maven
- Führen Sie die Maven Java-Webanwendung im Tomcat Maven Plugin aus
- Führen Sie die Maven Java-Webanwendung im Jetty Maven Plugin aus
- Installieren Sie Tycho für Eclipse
- Erstellen Sie ein Java OSGi-Projekt mit Maven und Tycho
- Erstellen Sie ein Empty Maven Web App Project in Eclipse
- Einbindung von OSGi und AspectJ
Show More