Java 1.8新建Maven SSM项目笔记(三)

高版本Java下Maven编译项目

我的软件环境:Java 1.8

Dynamic Web Module 3.1

来源: http://www.cnblogs.com/zhyp/p/5635700.html

记录一下,水平太菜,花费了半天时间。

pom.xml

<build>
    <plugins>
        <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.1</version>
        <configuration>
            <source>1.7</source>
            <target>1.7</target>
        </configuration>
    </plugin>
    </plugins>
</build>
  1. Another way is to edit the project facet configuration file itself: org.eclipse.wst.common.project.facet.core.xml
  2. Change the dynamic web module version in this line to 3.1 – <installed facet=”jst.web” version=”3.0″/>
  3. And then Maven -> Update Project. You’ll find this file in the .settings directory within the Eclipse project

我的环境是Java1.8,在我修改项目的Project facets之后,就已经成为1、2两点所写的样子了。但是问题依旧,所以我的步骤是

  1. 修改pom.xml
  2. 将source和target改成1.8,如下所示
    <configuration>
    <source>1.8</source>
    <target>1.8</target>
    </configuration>
  3. 在项目的属性中选择Maven -> Update Project.

Eclipse打JAR包引用的第三方JAR包找不到 – ☆★笨笨★☆的日志 – 网易博客

Eclipse打JAR包引用的第三方JAR包找不到 – ☆★笨笨★☆的日志 – 网易博客

在做项目过程中,使用Eclipse打成JAR包,使用 Export–>Java–>JAR file ,我的jar包里面还引用了第三方的jar包:比如 log4j, 我也碰到了这样的问题:

 

http://zhidao.baidu.com/question/48376665.html

 

  “我的程序里引用了别的JAR包

在ECLIPSE里运行正常

我想把我的程序打个JAR包

打包的时候把引用的包也打进去了

可运行程序确总是找不到我引用的包”

 

百度知道上面的最佳回答是这样的:

 

在你的项目文件夹下建一个META-INF文件夹里面新建一个

MANIFEST.MF的文件内容大至如下

Manifest-Version: 1.0

Ant-Version: Apache Ant 1.6.2

Created-By: 1.5.0_06-57 (“Apple Computer, Inc.”)

Built-By: hani

Main-Class: com.opensymphony.workflow.designer.Launcher

Class-Path: looks.jar forms.jar syntax.jar jgraph.jar foxtrot.jar osworkflow-2.8.0.jar oscore-2.2.5.jar

 

Main-Class就是你要运行的类。

Class-path:就是你要引入的包

用eclipse导出jar文件里,选择

user existing manifest from workspace

manifest file:/你的项目名/src/META-INF/MANIFEST.MF

点击完成。这样应该就可以了

 

按照上面的说法,我在我的项目src文件夹下面新建了一个名为 META-INF 的文件夹,文件夹里面建立了一个名为 MANIFEST.MF 文件,文件内容如下:

 

Manifest-Version: 1.0

Main-Class: com.sgfs.udp.client.ClientMain

Class-Path: ./lib/log4j-1.2.15.jar

 

然后,在项目上右键 选择 Export–>Java–>Java file,导出jar包,然后需要做的是在导出的jar文件目录,比如我是放在 C:\SgfsUDPClient 目录下面,新建一个名为 lib 的文件夹,然后把 MANIFEST.MF 文件里面 Class-Path: 里面指定的log4j-1.2.15.jar 放到里面。目录结构如下所示:

  Eclipse打JAR包引用的第三方JAR包找不到 - ☆★笨笨★☆ - ☆★笨笨★☆

 

这样就OK了。 也许你也会觉得这种方式不是很好,能不能在打包时,可以自动的将引用的jar包打进来了??,最终我们只需要一个jar文件,放到随意一个地方都是可以运行的, 是的,有这样的插件FatJar (http://blog.csdn.net/jikeyzhang/archive/2009/10/27/4731968.aspx)

 

FatJar 项目地址:http://fjep.sourceforge.net/

 

上面文章中的总结如下:总结:一般把src打包export=>Jar File 即可。想把src附属的资源一起打包,必须使用FatJar => export..=>FatJar.

简要的操作使用说明如下:

在你的项目上右键,选择 Build Fat Jar 文件,如下所示:

 Eclipse打JAR包引用的第三方JAR包找不到 - ☆★笨笨★☆ - ☆★笨笨★☆

在弹出的窗口中,选择 需要运行的类 Main-Class,如下所示:

Eclipse打JAR包引用的第三方JAR包找不到 - ☆★笨笨★☆ - ☆★笨笨★☆

点击,Next ,在下一步界面,选择要用到的第三方 jar 包,如下所示:

 

  Eclipse打JAR包引用的第三方JAR包找不到 - ☆★笨笨★☆ - ☆★笨笨★☆

点击 Finish 按钮,完成操作,生成 jar 文件。

java 判断string数组中是否有某个字符串

  1.  /**
  2.   *  判断某个字符串是否存在于数组中
  3.   *  @param stringArray 原数组
  4.   *  @param source 查找的字符串
  5.   *  @return 是否找到
  6.   */
  7.  public static boolean contains(String[] stringArray, String source) {
  8.   // 转换为list
  9.   List<String> tempList = Arrays.asList(stringArray);
  10.   
  11.   // 利用list的包含方法,进行判断
  12.   if(tempList.contains(source))
  13.   {
  14.    return true;
  15.   } else {
  16.    return false;
  17.   }
  18.  }