如何使用Maven,Tycho和Jython构建Eclipse插件?

时间:2018-12-01 19:32:27

标签: java maven eclipse-plugin jython tycho

我想创建一个能够执行Python代码的Eclipse插件。为此,我想使用Jython。另外,我使用Maven进行依赖,并希望使用Maven进行打包。

我的问题:(下面添加了解决方案) 我无法使用Maven构建使用Jython的eclipse插件。 Maven告诉“ BUILD SUCCESS”,但是Tycho和jython-compile-maven-plugin不能一起使用。 jython插件之所以起作用,是因为有两个jar作为输出,普通jar和提取了Jython的jar。 Tycho插件正在工作,因为普通的jar是有效的插件。但是需要提取Jython的jar并不是有效的插件。那么如何正确捆绑这两个插件?

问题:

  1. 如何将Tycho + jython-compile-maven-plugin组合在一起?
  2. 我使用解包依赖关系解包python库,但如果删除/重命名/文件夹,它只能工作一次。Maven更新项目从未再调用此方法。

由于Maven,第谷,吉顿,M2E对我来说是新的……:

  • 使用Jython创建Java项目,并与Maven打包为可运行的jar,可以正常工作
  • 创建了eclipse插件,使用Maven和tycho插件构建,可以正常工作
  • 在不使用Maven的情况下,使用Jython和“ BundleShape:dir”创建了eclipse插件,

如何重现该问题?

Eclipse Photon, Modeling + installed M2E:
 - Create new Plug-in Project name: ExampleMavenJythonEclipsePlugin, Version: 1.0.0.qualifier
 - [x] This plug-in will make contributions to the UI (and no RC Application)
    - [x] Create a plug-in using one of the templates
      - View contribution using 3.x API
        - View Class Name: SampleView
 - Convert Project to Maven Project
 - Replace POM with given given source
    - Run Maven "Update Project...", refresh workspace after
      - if there are pom errors like "Execution default-compile of goal org.eclipse.tycho:tycho-compiler-plugin [...]" do a change anywhere in pom and save (like insert newline, whitespace, tab, ...)
 - Replace SampleView Class with given source (don't delete your package)
 - Open plugin.xml, runtime, add classpath libs/jython-standalone.jar
 - right click pom, run as, maven build..., goals: clean package

 Testing:
 - Put the plugin to eclipse plugin dir, restart eclipse
   - window -> show view -> other
      - Sample Category, Sample View

另外: “以Eclipse应用程序身份运行”并不意味着它可以正常工作。 Iam正在使用Jython-Standalone。

修改1: 我取得了一些进展。我不正确地理解Tycho一开始的工作方式。 Tycho使用的是Manifest / build.properties,而不是pom依赖项。 POM不管理运行时依赖项,这就是为什么我需要将jython-standalone.jar添加到运行时。不需要jython-compile-maven-plugin。对于Jython而言,似乎最重要的是,如果在jar中,则带有Python代码的/ Lib文件夹位于根目录。有很多解决方案,我使用的是用eclipse创建的名为“ pythonExtracted”的源文件夹。现在,新的源文件夹应位于build.properties中。每个源文件夹都复制到jar的根目录中。 libs /中的jython-standalone.jar ist手动添加到类路径中。如果将“ python.home”设置为plugin.jar,则它看起来可以工作。但是我无法解析束和路径“。”指向eclipse.exe而不是jar,就像使用可运行的jar一样。

我不喜欢我现在拥有2倍使用相同代码的Lib文件夹。我试图将jython提取到lib / jython中并设置运行时类路径。尝试改变python主目录路径。如果插件打包为jar,则无济于事。看起来好像只能是/ lib放在罐子里。我尝试在libs中使用Jython(不是独立的),但从独立的库中提取了Lib文件夹,但是打包后无法解析PySystemState / PythonInterpreter。

解决方案:

- you need to add libs/jython to runtime classpath manually
- you need to create a source folder named: pythonExtracted (or adjust pom.xml below)
+ working if eclipse plugin packed as jar
+ Maven Update Project prepares the project
- python libs are twice in (extra ~10MB)

解决方案:Pom.xml(没有M2E配置)

<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>ExampleMavenJythonEclipsePlugin</groupId>
    <artifactId>ExampleMavenJythonEclipsePlugin</artifactId>
    <version>1.0.0-SNAPSHOT</version>

    <packaging>eclipse-plugin</packaging>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <eclipse-release-url>http://download.eclipse.org/releases/photon</eclipse-release-url>
        <maven-tycho-version>1.2.0</maven-tycho-version>
        <maven-dependency-plugin-version>3.1.1</maven-dependency-plugin-version>
        <maven-compiler-plugin-version>3.8.0</maven-compiler-plugin-version>
    </properties>

    <repositories>
        <repository>
            <id>eclipse-release</id>
            <layout>p2</layout>
            <url>${eclipse-release-url}</url>
        </repository>
    </repositories>

    <dependencies>
        <dependency>
            <groupId>org.python</groupId>
            <artifactId>jython-standalone</artifactId>
            <version>2.7.1</version>
        </dependency>
    </dependencies>

    <build>
        <sourceDirectory>src</sourceDirectory>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>${maven-dependency-plugin-version}</version>
                <executions>
                    <execution> <!-- JythonStandalone to /libs, strip version -->
                        <id>copyLibs</id>
                        <phase>process-sources</phase>
                        <goals>
                            <goal>copy</goal>
                        </goals>
                        <configuration>
                            <stripVersion>true</stripVersion>
                            <stripClassifier>true</stripClassifier>
                            <overWriteReleases>true</overWriteReleases>
                            <overWriteSnapshots>true</overWriteSnapshots>
                            <outputDirectory>${project.basedir}/libs</outputDirectory>
                            <artifactItems>
                                <artifactItem>
                                    <groupId>org.python</groupId>
                                    <artifactId>jython-standalone</artifactId>
                                </artifactItem>
                            </artifactItems>
                        </configuration>
                    </execution>
                    <execution>
                        <id>unpackPythonLibsFromJython</id>
                        <phase>initialize</phase>
                        <goals>
                            <goal>unpack-dependencies</goal>
                        </goals>
                        <configuration>
                            <includeGroupIds>org.python</includeGroupIds>
                            <includeArtifactIds>jython-standalone</includeArtifactIds>
                            <includes>Lib/**/*</includes>
                            <outputDirectory>${project.basedir}/pythonExtracted</outputDirectory> <!-- has to be a source folder -->
                            <overWriteReleases>true</overWriteReleases>
                            <overWriteSnapshots>true</overWriteSnapshots>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>${maven-compiler-plugin-version}</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.eclipse.tycho</groupId>
                <artifactId>tycho-maven-plugin</artifactId>
                <version>${maven-tycho-version}</version>
                <extensions>true</extensions>
            </plugin>

            <plugin>
                <groupId>org.eclipse.tycho</groupId>
                <artifactId>target-platform-configuration</artifactId>
                <version>${maven-tycho-version}</version>
                <configuration>
                    <pomDependencies>consider</pomDependencies>
                    <environments>
                        <environment>
                            <os>linux</os>
                            <ws>gtk</ws>
                            <arch>x86</arch>
                        </environment>
                        <environment>
                            <os>linux</os>
                            <ws>gtk</ws>
                            <arch>x86_64</arch>
                        </environment>
                        <environment>
                            <os>win32</os>
                            <ws>win32</ws>
                            <arch>x86</arch>
                        </environment>
                        <environment>
                            <os>win32</os>
                            <ws>win32</ws>
                            <arch>x86_64</arch>
                        </environment>
                        <environment>
                            <os>macosx</os>
                            <ws>cocoa</ws>
                            <arch>x86_64</arch>
                        </environment>
                    </environments>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

解决方案:Pom.xml(具有M2E配置)

<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>ExampleMavenJythonEclipsePlugin</groupId>
    <artifactId>ExampleMavenJythonEclipsePlugin</artifactId>
    <version>1.0.0-SNAPSHOT</version>

    <packaging>eclipse-plugin</packaging>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <eclipse-release-url>http://download.eclipse.org/releases/photon</eclipse-release-url>
        <maven-tycho-version>1.2.0</maven-tycho-version>
        <maven-dependency-plugin-version>3.1.1</maven-dependency-plugin-version>
        <maven-compiler-plugin-version>3.8.0</maven-compiler-plugin-version>
    </properties>

    <repositories>
        <repository>
            <id>eclipse-release</id>
            <layout>p2</layout>
            <url>${eclipse-release-url}</url>
        </repository>
    </repositories>

    <dependencies>
        <dependency>
            <groupId>org.python</groupId>
            <artifactId>jython-standalone</artifactId>
            <version>2.7.1</version>
        </dependency>
    </dependencies>

    <build>
        <sourceDirectory>src</sourceDirectory>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>${maven-dependency-plugin-version}</version>
                <executions>
                    <execution> <!-- JythonStandalone to /libs, strip version -->
                        <id>copyLibs</id>
                        <phase>process-sources</phase>
                        <goals>
                            <goal>copy</goal>
                        </goals>
                        <configuration>
                            <stripVersion>true</stripVersion>
                            <stripClassifier>true</stripClassifier>
                            <overWriteReleases>true</overWriteReleases>
                            <overWriteSnapshots>true</overWriteSnapshots>
                            <outputDirectory>${project.basedir}/libs</outputDirectory>
                            <artifactItems>
                                <artifactItem>
                                    <groupId>org.python</groupId>
                                    <artifactId>jython-standalone</artifactId>
                                </artifactItem>
                            </artifactItems>
                        </configuration>
                    </execution>
                    <execution>
                        <id>unpackPythonLibsFromJython</id>
                        <phase>initialize</phase>
                        <goals>
                            <goal>unpack-dependencies</goal>
                        </goals>
                        <configuration>
                            <includeGroupIds>org.python</includeGroupIds>
                            <includeArtifactIds>jython-standalone</includeArtifactIds>
                            <includes>Lib/**/*</includes>
                            <outputDirectory>${project.basedir}/pythonExtracted</outputDirectory> <!-- has to be a source folder -->
                            <overWriteReleases>true</overWriteReleases>
                            <overWriteSnapshots>true</overWriteSnapshots>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>${maven-compiler-plugin-version}</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.eclipse.tycho</groupId>
                <artifactId>tycho-maven-plugin</artifactId>
                <version>${maven-tycho-version}</version>
                <extensions>true</extensions>
            </plugin>

            <!-- Enable the replacement of the SNAPSHOT version in the final product 
                configuration 
            <plugin>
                <groupId>org.eclipse.tycho</groupId>
                <artifactId>tycho-packaging-plugin</artifactId>
                <version>${maven-tycho-version}</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <id>package-feature</id>
                        <configuration>
                            <finalName>${project.artifactId}_${unqualifiedVersion}.${buildQualifier}</finalName>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>org.eclipse.tycho</groupId>
                <artifactId>tycho-p2-repository-plugin</artifactId>
                <version>${maven-tycho-version}</version>
                <configuration>
                    <includeAllDependencies>true</includeAllDependencies>
                </configuration>
            </plugin>-->

            <plugin>
                <groupId>org.eclipse.tycho</groupId>
                <artifactId>target-platform-configuration</artifactId>
                <version>${maven-tycho-version}</version>
                <configuration>
                    <pomDependencies>consider</pomDependencies>
                    <environments>
                        <environment>
                            <os>linux</os>
                            <ws>gtk</ws>
                            <arch>x86</arch>
                        </environment>
                        <environment>
                            <os>linux</os>
                            <ws>gtk</ws>
                            <arch>x86_64</arch>
                        </environment>
                        <environment>
                            <os>win32</os>
                            <ws>win32</ws>
                            <arch>x86</arch>
                        </environment>
                        <environment>
                            <os>win32</os>
                            <ws>win32</ws>
                            <arch>x86_64</arch>
                        </environment>
                        <environment>
                            <os>macosx</os>
                            <ws>cocoa</ws>
                            <arch>x86_64</arch>
                        </environment>
                    </environments>
                </configuration>
            </plugin>
        </plugins>

        <pluginManagement>
            <plugins>
                <!--This plugin's configuration is used to store Eclipse m2e settings 
                    only. It has no influence on the Maven build itself. -->
                <plugin>
                    <groupId>org.eclipse.m2e</groupId>
                    <artifactId>lifecycle-mapping</artifactId>
                    <version>1.0.0</version>
                    <configuration>
                        <lifecycleMappingMetadata>
                            <pluginExecutions>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.eclipse.tycho</groupId>
                                        <artifactId>tycho-packaging-plugin</artifactId>
                                        <versionRange>[1.0.0,)</versionRange>
                                        <goals>
                                            <goal>validate-version</goal>
                                            <goal>validate-id</goal>
                                            <goal>build-qualifier</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <execute>
                                            <runOnIncremental>false</runOnIncremental>
                                        </execute>
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.eclipse.tycho</groupId>
                                        <artifactId>tycho-compiler-plugin</artifactId>
                                        <versionRange>[1.0.0,)</versionRange>
                                        <goals>
                                            <goal>compile</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <execute>
                                            <runOnIncremental>false</runOnIncremental>
                                        </execute>
                                    </action>
                                </pluginExecution>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>
                                            org.apache.maven.plugins
                                        </groupId>
                                        <artifactId>
                                            maven-dependency-plugin
                                        </artifactId>
                                        <versionRange>
                                            [${maven-dependency-plugin-version},)
                                        </versionRange>
                                        <goals>
                                            <goal>copy</goal>
                                            <goal>unpack-dependencies</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <execute>
                                            <runOnIncremental>false</runOnIncremental>
                                        </execute>
                                    </action>
                                </pluginExecution>
                            </pluginExecutions>
                        </lifecycleMappingMetadata>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>
</project>

解决方案:Activator.java(在plugin.xml中设置)

package examplemavenjythoneclipseplugin.views;

import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;

/**
 * The activator class controls the plug-in life cycle
 */
public class Activator extends AbstractUIPlugin {

    public static Bundle bundle = null;

    // The shared instance
    private static Activator plugin;

    /**
     * The constructor
     */
    public Activator() {
    }

    /*
     * (non-Javadoc)
     * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
     */
    public void start(BundleContext context) throws Exception {
        super.start(context);
        plugin = this;

        if (bundle == null) {
            bundle = context.getBundle();
        }
    }

    /*
     * (non-Javadoc)
     * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
     */
    public void stop(BundleContext context) throws Exception {
        super.stop(context);
    }

    /**
     * Returns the shared instance
     *
     * @return the shared instance
     */
    public static Activator getDefault() {
        return plugin;
    }
}

解决方案:SampleView.java

package examplemavenjythoneclipseplugin.views;

import java.io.File;
import java.util.Properties;

import org.eclipse.core.runtime.FileLocator;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.FormAttachment;
import org.eclipse.swt.layout.FormData;
import org.eclipse.swt.layout.FormLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.part.ViewPart;
import org.osgi.framework.Bundle;
import org.python.core.PySystemState;
import org.python.util.PythonInterpreter;

public class SampleView extends ViewPart {

    private static void pythonTest(final String home) {
        final Properties propsPre = System.getProperties();
        final Properties propsPost = new Properties();

        // suppress warning console encoding not set
        propsPost.put("python.console.encoding", "UTF-8"); 
        // if no Lib folder is found, constructor of PythonInterpreter fails, but this isn't useful
        propsPost.put("python.import.site", "false"); 

        // set python home path / cache dir for Jython (just package information)
        propsPost.put("python.cachedir", new File(home, "cachedir").getAbsolutePath());
        propsPost.put("python.home", new File(home).getAbsolutePath());

        // used for our own "System.out" => we can read it later with ease
        final java.io.ByteArrayOutputStream out = new java.io.ByteArrayOutputStream();

        // needed only once in any application before any other Python/Jython code is used.
        PySystemState.initialize(propsPre, propsPost, new String[0]);
        try (final PythonInterpreter interpreter = new PythonInterpreter();) {
            interpreter.setOut(new java.io.PrintStream(out));
            interpreter.exec("print('Hello World')"); // checks if start is fine
            interpreter.exec("print ' '");
            interpreter.exec("print('importing sys'); import sys; print('done');"); // should work even if Lib not found
            interpreter.exec("print 'prefix:', sys.prefix");
            interpreter.exec("print ' '");
            interpreter.exec("print 'System path:', sys.path");
            interpreter.exec("print('importing os'); import os; print('done');"); // needs access to lib folder
            interpreter.exec("print('Hello World')"); // if anything above fails, null is printed not Hello World

            MessageDialog.openInformation(Display.getDefault().getActiveShell(), "Output:",
                    out.toString() + "\n" + (home));
        } catch (Throwable t) {
            MessageDialog.openError(Display.getDefault().getActiveShell(), "Jython failed",
                    out.toString() + "\n" + t.toString());
            t.printStackTrace();
        }
    }

    @Override
    public void createPartControl(Composite parent) {
        /* 1) Show Python home path
         * 2) make Python home path changable
         * 3) create button to start PythonInit & test
         */
        // I have no clue why, getBundle failed in various situations, the plugin Activator gets the bundle better.
//      final Bundle bundle = Platform.getBundle("ExampleMavenJythonEclipsePlugin"); // Argument = Manifest.Bundle-SymbolicName
        final Bundle bundle = Activator.bundle; // start(BundleContext context) => context.getBundle()

        // 1 & 2) Create input showing the home path used (fallback "." = not valid in this working version but is vor runnable jar)
        parent.setLayout(new FormLayout());
        final Text input = new Text(parent, SWT.SINGLE);
        FormData d = new FormData();
        d.top = new FormAttachment(parent, 0);
        d.left = new FormAttachment(parent, 0);
        d.right = new FormAttachment(100, 0);
        input.setLayoutData(d);
        try {
            File b = FileLocator.getBundleFile(bundle);
            input.setText(b.getAbsolutePath());
        } catch (Throwable e) {
            input.setText(".");
        }

        // 3) create button to start test
        final Button button = new Button(parent, SWT.PUSH);
        d = new FormData();
        d.top = new FormAttachment(input, 5);
        d.left = new FormAttachment(parent, 0);
        d.right = new FormAttachment(100, 0);
        button.setLayoutData(d);
        button.setText("test");
        button.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                pythonTest(input.getText());
            }
        });
    }

    @Override
    public void setFocus() {
    }
}

解决方案:Maven控制台“ mvn clean package”

    [INFO] Scanning for projects...
    [INFO] Computing target platform for MavenProject: ExampleMavenJythonEclipsePlugin:ExampleMavenJythonEclipsePlugin:1.0.0-SNAPSHOT @ D:\Programme\eclipse\modeling oxygen\MDSD-Prototyping\ExampleMavenJythonEclipsePlugin\pom.xml
    [INFO] Fetching p2.index from http://download.eclipse.org/releases/photon/
    [INFO] Fetching p2.index from http://download.eclipse.org/releases/photon/
    [INFO] Adding repository http://download.eclipse.org/releases/photon
    [INFO] Fetching p2.index from http://download.eclipse.org/technology/epp/packages/photon/
    [INFO] Fetching p2.index from http://download.eclipse.org/technology/epp/packages/photon/
    [INFO] Fetching p2.index from http://download.eclipse.org/releases/photon/201806271001/
    [INFO] Fetching p2.index from http://download.eclipse.org/releases/photon/201806271001/
    [INFO] Fetching content.xml.xz from http://download.eclipse.org/releases/photon/201806271001/
    [INFO] Fetching content.xml.xz from http://download.eclipse.org/releases/photon/201806271001/
    [INFO] Fetching content.xml.xz from http://download.eclipse.org/releases/photon/201806271001/ (248,94kB at 247,04kB/s)
    [INFO] Fetching content.xml.xz from http://download.eclipse.org/releases/photon/201806271001/ (701,55kB at 349,82kB/s)
    [INFO] Resolving dependencies of MavenProject: ExampleMavenJythonEclipsePlugin:ExampleMavenJythonEclipsePlugin:1.0.0-SNAPSHOT @ D:\Programme\eclipse\modeling oxygen\MDSD-Prototyping\ExampleMavenJythonEclipsePlugin\pom.xml
    [INFO] Resolving class path of MavenProject: ExampleMavenJythonEclipsePlugin:ExampleMavenJythonEclipsePlugin:1.0.0-SNAPSHOT @ D:\Programme\eclipse\modeling oxygen\MDSD-Prototyping\ExampleMavenJythonEclipsePlugin\pom.xml
    [INFO] 
    [INFO] -----
    [INFO] Building ExampleMavenJythonEclipsePlugin 1.0.0-SNAPSHOT
    [INFO] ---------------------------[ eclipse-plugin ]---------------------------
    [INFO] 
    [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ ExampleMavenJythonEclipsePlugin ---
    [INFO] Deleting D:\Programme\eclipse\modeling oxygen\MDSD-Prototyping\ExampleMavenJythonEclipsePlugin\target
    [INFO] 
    [INFO] --- tycho-packaging-plugin:1.2.0:build-qualifier (default-build-qualifier) @ ExampleMavenJythonEclipsePlugin ---
    [INFO] The project's OSGi version is 1.0.0.201812181615
    [INFO] 
    [INFO] --- tycho-packaging-plugin:1.2.0:validate-id (default-validate-id) @ ExampleMavenJythonEclipsePlugin ---
    [INFO] 
    [INFO] --- tycho-packaging-plugin:1.2.0:validate-version (default-validate-version) @ ExampleMavenJythonEclipsePlugin ---
    [INFO] 
    [INFO] --- maven-dependency-plugin:3.1.1:unpack-dependencies (unpackPythonLibsFromJython) @ ExampleMavenJythonEclipsePlugin ---
    [INFO] Unpacking D:\Programme\.m2\org\python\jython-standalone\2.7.1\jython-standalone-2.7.1.jar to D:\Programme\eclipse\modeling oxygen\MDSD-Prototyping\ExampleMavenJythonEclipsePlugin\pythonExtracted with includes "Lib/**/*" and excludes ""
    [INFO] 
    [INFO] --- maven-dependency-plugin:3.1.1:copy (copyLibs) @ ExampleMavenJythonEclipsePlugin ---
    [INFO] Configured Artifact: org.python:jython-standalone:?:jar
    [INFO] Copying jython-standalone-2.7.1.jar to D:\Programme\eclipse\modeling oxygen\MDSD-Prototyping\ExampleMavenJythonEclipsePlugin\libs\jython-standalone.jar
    [INFO] 
    [INFO] --- maven-resources-plugin:2.4.3:resources (default-resources) @ ExampleMavenJythonEclipsePlugin ---
    [INFO] Using 'UTF-8' encoding to copy filtered resources.
    [INFO] skip non existing resourceDirectory D:\Programme\eclipse\modeling oxygen\MDSD-Prototyping\ExampleMavenJythonEclipsePlugin\src\main\resources
    [INFO] 
    [INFO] --- tycho-compiler-plugin:1.2.0:compile (default-compile) @ ExampleMavenJythonEclipsePlugin ---
    [INFO] Compiling 2 source files to D:\Programme\eclipse\modeling oxygen\MDSD-Prototyping\ExampleMavenJythonEclipsePlugin\target\classes
    [INFO] 
    [INFO] --- maven-resources-plugin:2.4.3:testResources (default-testResources) @ ExampleMavenJythonEclipsePlugin ---
    [INFO] Using 'UTF-8' encoding to copy filtered resources.
    [INFO] skip non existing resourceDirectory D:\Programme\eclipse\modeling oxygen\MDSD-Prototyping\ExampleMavenJythonEclipsePlugin\src\test\resources
    [INFO] 
    [INFO] --- target-platform-configuration:1.2.0:target-platform (default-target-platform) @ ExampleMavenJythonEclipsePlugin ---
    [INFO] 
    [INFO] --- tycho-packaging-plugin:1.2.0:package-plugin (default-package-plugin) @ ExampleMavenJythonEclipsePlugin ---
    [INFO] Building jar: D:\Programme\eclipse\modeling oxygen\MDSD-Prototyping\ExampleMavenJythonEclipsePlugin\target\ExampleMavenJythonEclipsePlugin-1.0.0-SNAPSHOT.jar
    [INFO] 
    [INFO] --- tycho-p2-plugin:1.2.0:p2-metadata-default (default-p2-metadata-default) @ ExampleMavenJythonEclipsePlugin ---
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 55.097 s
    [INFO] Finished at: 2018-12-18T17:16:51+01:00
    [INFO] ------------------------------------------------------------------------

0 个答案:

没有答案