最近学习java,想起来没有在Ubuntu上使用过

因此想安装下环境,并在Ubuntu上试用MPXJ读取mpp文件

1.安装

下载jdk8

https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

新建目录

mkdir  /usr/lib/jvm

解压

tar -zxvf jdk-8u211-linux-x64.tar.gz -C /usr/lib/jvm

修改环境变量

vim ~/.bashrc

追加

#set oracle jdk environment
export JAVA_HOME=/usr/lib/jvm/jdk1..0_211
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

使生效

 source ~/.bashrc

2.测试

(1)是否安装成功

(2)Hello.java

public class Hello {
private Integer aa = ;
public String ss = "sss";
public static void main(String[] args) {
System.out.println("Hello Java");
}
}
 javac Hello.java

java Hello

javap Hello

3.用MPXJ读取mpp文件

在http://www.mpxj.org/官网MPXJ in Java,进入下载页

添加MPXJ的包

在/usr/lib/jvm/jdk1.8.0_211/jre/lib/ext下添加下面的jar包(我的安装目录在/usr/lib/jvm/jdk1.8.0_211下)

mpxj.jar
commons-collections4-4.1.jar
poi-3.17.jar
rtfparserkit-1.10..jar

在/www/javatest下添加mpxjtest.java

 import net.sf.mpxj.mpp.*;
import net.sf.mpxj.MPXJException;
import net.sf.mpxj.Resource;
import net.sf.mpxj.ResourceAssignment;
import net.sf.mpxj.Task;
import net.sf.mpxj.ProjectFile;
import java.util.List;
import java.io.*;
public class mpxjtest {
public static void main(String[] args) throws MPXJException {
File file = new File("/www/javatest/aa.mpp");
MPPReader mppRead = new MPPReader();
ProjectFile pf = mppRead.read(file);
List tasks = pf.getAllTasks();
mpxjtest mt = new mpxjtest();
System.out.println("总任务数: " + tasks.size());
System.out.println("ID|任务名|资源|开始时间|结束时间|完成百分比");
for (int i = ; i < tasks.size(); i++) {
System.out.println(((Task) tasks.get(i)).getUniqueID() + "|" + ((Task) tasks.get(i)).getName());
}
}
public String getResource(Task task) {
StringBuffer buf = new StringBuffer();
List assignments = task.getResourceAssignments();
for (int i = ; i < assignments.size(); i++) {
ResourceAssignment assignment = (ResourceAssignment) assignments .get(i);
Resource resource = assignment.getResource();
if (resource != null) {
buf.append(resource.getName()).append(" ");
}
}
return buf.toString();
}
}

运行

javac mpxjtest.java
java mpxjtest

结果

说明:

  还可以通过ppa(源) 方式安装

add-apt-repository ppa:webupd8team/java
apt-get update
apt-get install oracle-java8-installer

ubuntu源码安装jdk8的更多相关文章

  1. ubuntu源码安装django

    由于用pip install django方法安装太慢,而且容易报错,故使用源码的方式安装 方法: 下载源码包:https://www.djangoproject.com/download/ 输入以下 ...

  2. ubuntu 源码安装 swig

    1. 下载 swig 源码 http://www.swig.org/survey.html 填写一个简单的问卷,即可进入 sourceforge 下载. 2. 安装 g++ sudo apt-get ...

  3. ubuntu 源码安装 lnmp 环境

    准备篇 下载软件包 1.下载nginx http://nginx.org/download/nginx-1.2.0.tar.gz 2.下载pcre  (支持nginx伪静态) ftp://ftp.cs ...

  4. ubuntu源码安装R语言

    下载后解压完,进入开始配置: ./configure --enable-R-shlib 报错: configure: error: con--with-readline=yes (default) a ...

  5. ubuntu源码安装node7+

    在官网上下载了node的tar.xz文件(node7.3.0),安装分为两步:1.解压  2.安装 解压也分成两步,首先用xz -d xxx.tar.xz解压为xxx.tar,然后用tar -xvf ...

  6. Ubuntu 源码安装 nginx 1.9.2

    安装前准备: //更新系统 1.sudo apt-get update //安装pcre包 2.sudo apt-get install libpcre3 libpcre3-dev   3.sudo  ...

  7. node的源码安装

    Node.js 安装配置 本章节我们将向大家介绍在 Windows 和 Linux 上安装 Node.js 的方法. 本安装教程以 Node.js v4.4.3 LTS(长期支持版本)版本为例. No ...

  8. 【转】ubuntu源码编译安装php常见错误解决办法

    ./configure -prefix=/usr/local/php -with-config-file-path=/etc -with-mysql=mysqlnd -with-mysqli=mysq ...

  9. [笔记] Ubuntu 18.04源码安装caffe流程

    虽然Ubuntu 18.04可以通过apt安装caffe,但是为了使用最新的代码,还是值得从源码安装一遍的. 安装环境 OS: Ubuntu 18.04 64 bit 显卡: NVidia GTX 1 ...

随机推荐

  1. BZOJ2255 : [Swerc2010]Palindromic DNA

    考虑2-SAT建图,设$a[i][0..1]$表示$i$变不变,$b[i][0..1]$表示$i$是下降还是上升. 首先相邻的不能同时动,说明$a[i]$和$a[i+1]$里最多选一个. 对于$x$和 ...

  2. ES6 类

    ES6之前没有类的概念,一般采用以下方式来模仿类 基本的类声明语法 私有属性是实例中的属性,不会出现在原型上,且只能在类的构造函数中创建所有私有属性 PersonClass声明实际上创建了一个具有构造 ...

  3. Code signing is required for product type 'Application' in SDK 'iOS 11.4'

    查看链接: https://blog.csdn.net/Fantasy_Jun/article/details/78082359 处理方法: 将code signing identity设置为iOS ...

  4. CodeForces 456-C Boredom

    题目链接:CodeForces -456C Description Alex doesn't like boredom. That's why whenever he gets bored, he c ...

  5. Prior Posterior和Likelihood的理解与几种表达方式

  6. Tornado-cookie

    cookie 服务端在客户端的中写一个字符串,下一次客户端再访问时只要携带该字符串,就认为其是合法用户. tornado中的cookie有两种,一种是未加密的,一种是加密的,并且可以配置生效域名.路径 ...

  7. drawRect中抗锯齿

    在开始之前,我们需要创建一个DrawRectView 其初始代码为 // // DrawRectView.h // CGContextSetShouldAntialias // // Created ...

  8. 【Spring】Springboot监听器,启动之后初始化工作

    package com.laplace.laplace.common.starter.config; import java.io.IOException; import org.slf4j.Logg ...

  9. grid - 通过网格区域命名和定位网格项目

    1.像网格线名称一样,网格区域的名称也可以使用grid-template-areas属性来命名.引用网格区域名称也可以设置网格项目位置. 设置网格区域的名称应该放置在单引号或双引号内,每个名称由一个空 ...

  10. gdb fabs错误输出

    https://sourceware.org/gdb/wiki/FAQ GDB doesn't know the return type nor the type of the arguments f ...