⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 josgeneratepumojo.java

📁 是离开的肌肤了卡机是离开的就富利卡及是了的开发及拉考试及的福利科技阿斯利康的肌肤莱卡及时的离开福建阿斯顿发
💻 JAVA
字号:
package org.mortbay.jetty.openspaces.plugin;/*======================================================================== * $Id:$ * Copyright 2000-2008 Mort Bay Consulting Pty. Ltd. *------------------------------------------------------------------------ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at  * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *======================================================================== */import java.io.File;import java.io.IOException;import java.util.Iterator;import org.apache.maven.artifact.Artifact;import org.apache.maven.plugin.AbstractMojo;import org.apache.maven.plugin.MojoExecutionException;import org.apache.maven.plugin.MojoFailureException;import org.codehaus.plexus.archiver.ArchiverException;import org.codehaus.plexus.archiver.jar.JarArchiver;import org.codehaus.plexus.util.FileUtils;/* todo: * allow mechanism for specifying other artifacts to be included in the pu jar * artifact name that implies its a pu? *  *//** * Simple plugin that takes a bundled war file, a pu.xml file and the jetty dependencies of this plugin * itself to create an artifact suitable for deployment with os:deploy *  * @goal generate-pu * @requiresDependencyResolution runtime * @phase package * @description Generates an openspaces PU for a war project */public class JOSGeneratePUMojo extends AbstractMojo{    /**     * @parameter expression="${project.build.directory}/${project.artifactId}-${project.version}.war"     */    private String warFile;        /**     * @parameter expression="src/main/openspaces/pu.xml"     */    private String puXMLFile;        /**     * @parameter expression="${project.build.directory}/${project.artifactId}-${project.version}-pu"     */    private String serverDirectory;        /**     * @parameter expression="${project.build.directory}/${project.artifactId}-${project.version}.jar"     */    private String artifactName;        /**      * @parameter expression="${plugin.artifacts}"      */    private java.util.List pluginArtifacts;        /**     * The Jar archiver.     *     * @parameter expression="${component.org.codehaus.plexus.archiver.Archiver#jar}"     * @required     */    private JarArchiver jarArchiver;        /**     *      */    	public void execute() throws MojoExecutionException, MojoFailureException 	{	    if ( puXMLFile == null || !FileUtils.fileExists( puXMLFile ) )	    {	        throw new MojoExecutionException( "missing pu.xml file" );	    }	        	    if ( warFile == null || !FileUtils.fileExists( warFile ) )	    {	        throw new MojoExecutionException( "missing war file" );	    }	    	    try        {	        String puTargetDir = serverDirectory + File.separator + "META-INF" + File.separator + "spring";	        String libTargetDir = serverDirectory + File.separator + "lib";	        	        FileUtils.mkdir( serverDirectory );	        	        FileUtils.mkdir( puTargetDir );	        FileUtils.mkdir( libTargetDir );	                    FileUtils.copyFileToDirectory( new File( puXMLFile ), new File( puTargetDir ) );            FileUtils.copyFileToDirectory( new File( warFile ), new File( serverDirectory ) );                                     for (Iterator artifactIterator = pluginArtifacts.iterator(); artifactIterator.hasNext();)              {                Artifact artifact = (Artifact) artifactIterator.next();                if (artifact.getGroupId().equals("org.mortbay.jetty") )                 {                    FileUtils.copyFileToDirectory( artifact.getFile().getPath(), libTargetDir );                }             }                          jarArchiver.addDirectory( new File(serverDirectory) );             jarArchiver.setDestFile( new File(artifactName) );             jarArchiver.createArchive();        }        catch ( IOException ioe )        {            throw new MojoExecutionException( "unable to assemble",ioe );        }        catch ( ArchiverException ae )        {            throw new MojoExecutionException( "unable to assembly jar", ae );        }	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -