开发工具分享
  • 首页
  • 计算科学
  • 文化旅游
  • 项目和网站
    • OSSEZ 计算技术
    • USRealEstate 社区
    • 地区文化
    • CWIKI.US
    • BUG.OSSEZ.COM
    • RSS.OSSEZ.COM
CWIKIUS.CN
一个有独立思考和温度的清新站
Computer Science

Spring Boot Intellij 运行应用的时候 Command line is too long. Shorten command line for 错误

提示的错误信息如下: *Command line is too long*. Shorten *command line* for       解决办法 有下面 2 个方法都可以解决这个问题。 修改应用 首先需要选择 Application,然后选择编辑。 然后通过上面选择 JAR 的配置。       修改 workspace.xml 然后修改 workspace.xml 文件,针对 PropertiesComponent 组件,添加下面的参数: <property name="dynamic.classpath" value="true" />     然后重新启动后就可以解决这个问题了。 https://www.ossez.com/t/spring-boot-intellij-command-line-is-too-long-shorten-command-line-for/763

2020年12月08日 0Comments 761Browse 0Like Read more
Computer Science

Jenkins 在 Linux 上的部署后,默认安装目录

你可能有下面的一些安装目录: /usr/lib/jenkins/:jenkins安装目录,WAR包会放在这里。 /etc/sysconfig/jenkins:jenkins配置文件,“端口”,“JENKINS_HOME”等都可以在这里配置。 /var/lib/jenkins/:默认的JENKINS_HOME。 /var/log/jenkins/jenkins.log:Jenkins日志文件。     https://www.ossez.com/t/jenkins-linux/762  

2020年12月07日 0Comments 927Browse 0Like Read more
Computer Science

Jenkins 的 CentOS 8 安装目录和路径

Jenkins 的文件结构目录如下。 在 CentOS 8 的操作系统下,具体的路径是在 /var/lib 目录下的。 所有的配置文件都在这里,包括有你 Job,这是你的任务目录。 JENKINS_HOME +- config.xml (jenkins root configuration) +- *.xml (other site-wide configuration files) +- userContent (files in this directory will be served under your http://server/userContent/) +- fingerprints (stores fingerprint records) +- nodes (slave configurations) +- plugins (stores plugins) +- secrets (secretes needed when migrating credentials to other servers) +- workspace (working directory for the version control system) +- [JOBNAME] (sub directory for each job) +- jobs +- [JOBNAME] (sub directory for each job) +- config.xml (job configuration file) +- latest (symbolic link to the last successful build) +- builds +- [BUILD_ID] (for each build) +- build.xml (build result summary) +- log (log file) +- changelog.xml (change log) 具体的官方文档参考地址为:https://wiki.jenkins.io/display/JENKINS/Administering+Jenkins https://www.ossez.com/t/jenkins-centos-8/757

2020年12月07日 0Comments 900Browse 0Like Read more
Computer Science

Jenkins 编译的时候提示错误 JAVA_HOME environment

在使用 Jenkins 进行编译的时候提示错误: The JAVA_HOME environment variable is not defined correctly This environment variable is needed to run this program NB: JAVA_HOME should point to a JDK not a JRE 解决办法 在 Jenkins 中选择 Manage Jenkins,然后选择 配置系统.     配置系统     然后选择全局属性后,添加一个变量为 JAVA_HOME 就可以解决这个问题了。     然后再重新编译后就可以解决参数配置问题。 https://www.ossez.com/t/jenkins-java-home-environment/761

2020年12月07日 0Comments 733Browse 0Like Read more
Computer Science

Jenkins CentOS 8 设置默认端口

Jenkins 使用的默认端口是 8080。 在 CentOS 你可以通过修改 /etc/sysconfig/jenkins 文件中的 JENKINS_PORT=“8080” 端口来修改 Jenkins 使用默认的端口。     当你重新启动后,就可以使用新的端口了。 https://www.ossez.com/t/jenkins-centos-8/758

2020年12月07日 0Comments 650Browse 0Like Read more
Computer Science

Java 如何获得文件的 Media Type

一般来说你可以使用 Apache Tika 来获得文件的类型。 Tika 是一个内容分析工具 Maven 设置 maven 的版本到你的 POM 文件中。 <!-- https://mvnrepository.com/artifact/org.apache.tika/tika-core --> <dependency> <groupId>org.apache.tika</groupId> <artifactId>tika-core</artifactId> <version>1.25</version> </dependency> 测试代码 例如,我们可以使用下面的测试代码。 @Test public void whenUsingTika_thenSuccess() { File file = new File("product.png"); Tika tika = new Tika(); String mimeType = tika.detect(file); assertEquals(mimeType, "image/png"); } 你需要首先 New 一个文件对象,然后通过文件对象进行测试就可以了。 例如我们使用上面类似的代码测试了一些代码: 09:32:36.377 [main] DEBUG c.i.s.c.test.utilities.FileUtilsTest - TXT - [text/plain] 09:32:36.389 [main] DEBUG c.i.s.c.test.utilities.FileUtilsTest - CSV - [text/csv] 09:32:36.395 [main] DEBUG c.i.s.c.test.utilities.FileUtilsTest - XLS - [application/vnd.ms-excel] 09:32:36.399 [main] DEBUG c.i.s.c.test.utilities.FileUtilsTest - XLSX - [application/vnd.openxmlformats-officedocument.spreadsheetml.sheet] 上面测试过一些文件类和类型的返回。 https://www.ossez.com/t/java-media-type/753

2020年12月05日 0Comments 602Browse 0Like Read more
Computer Science

Apache POI Strict OOXML isn’t currently 错误

在处理文件的时候 POI 提示错误: org.apache.poi.ooxml.POIXMLException: Strict OOXML isn't currently supported, please see bug #57699 at org.apache.poi.ooxml.POIXMLDocumentPart.getPartFromOPCPackage(POIXMLDocumentPart.java:779) at org.apache.poi.ooxml.POIXMLDocumentPart.<init>(POIXMLDocumentPart.java:175) at org.apache.poi.ooxml.POIXMLDocumentPart.<init>(POIXMLDocumentPart.java:165) at org.apache.poi.ooxml.POIXMLDocument.<init>(POIXMLDocument.java:61) at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:282) 这是因为你的 Excel 保存的格式版本为 Strict Open XML 格式。 你需要将这个文件保存为 Excel WorkBook 格式才能够被 POI 读取。     针对这个问题暂时没有太多的解决办法,你只能让用户保存为 Excel WorkBook 格式才能让 Apache POI 处理。 https://www.ossez.com/t/apache-poi-strict-ooxml-isnt-currently/752

2020年12月05日 0Comments 587Browse 0Like Read more
Computer Science

Apache POI 读取 Microsoft Office Excel 文档

Apache POI 项目的使命是创造和维护 Java API 操纵各种格式的文件,其中包括基于 Office Open XML 标准(OOXML)和微软的 OLE 2 Compound Document 格式(OLE2)。 总之,你可以使用 Java 读写 MS Excel 文件。换句话说就是如果你希望要对 Microsoft Office 的一些文档用 Java 来处理,那么你需要使用 Apache POI 项目。 我们在这里只对 Excel 的读取进行一些小的代码。 HSSF 和 XSSF HSSF 被用来处理早期版本,这个版本为:Excel '97(-2007) XSSF 被用来处理近期的版本,Excel 2007 OOXML (.xlsx) 。 简单来说就是你的 Excel 版本为 07 年以后的版本,使用 XSSF 就可以了,换句话说目前使用 XSSF 比较多。 XSSF 读取数据 使用 XSSF 读取数据的方法比较简单。 使用下面几行代码就可以了。 try (InputStream inp = new FileInputStream("workbook.xls")) { //InputStream inp = new FileInputStream("workbook.xlsx"); Workbook wb = WorkbookFactory.create(inp); Sheet sheet = wb.getSheetAt(0); Row row = sheet.getRow(2); Cell cell = row.getCell(3); } 简单来说就是首先将文件读取为 InputStream 。 使用 InputStream 来创建一个 Workbook 对象,这时候你需要使用 WorkbookFactory 来创建。     当你获得 WorkbookFactory 对象后,就等于已经将需要读取的 Excel 文件放到对象中了。 读取顺序是从 Workbook 对象中,通过 getSheetAt 方法来处理你希望处理的 sheet,因为在 Excel 表中可以有多个 sheet,这里如果你指定为 0 的话,表示根据物理和逻辑算法确定的第一个 sheet。 当你获得 sheet 对象后,你就可以从 sheet 中读取 row 对象了。 row 对象就等于表格中的一行,在一个 Excel 表中可以有很多行。当你获得这一行的对象后,你会有很多的列。 那么你需要使用 getCell 来获得指定的列。 当你获得指定的列以后,你就可以获得你需要的数据了。 整体来说,Workbook 的对象定义还是非常明确的。 遍历数据 官方的文档中,使用了 3 for 循环来遍历。 代码如下: for (Sheet sheet : wb ) { for (Row row : sheet) { for (Cell cell : row) { // Do something here } } } 这个代码看起来还是挺丑的,按照官方的说法,还是可以使用迭代( Iterator)的 因为官方还提供了 workbook.sheetIterator() , sheet.rowIterator() , 和 row.cellIterator() 几个迭代器。 例如我们使用了下面这个方法: public static List<String> getXLSXInputFileRowList(File inputFile) { List<String> dataList = Lists.newArrayList(); try { FileInputStream inputStream = FileUtils.openInputStream(inputFile); Workbook wb = WorkbookFactory.create(inputStream); Sheet sheet = wb.getSheetAt(0); Iterator<Row> iterator = sheet.rowIterator(); // LOOP Get Cell while (iterator.hasNext()) { Row row = iterator.next(); Cell cell = row.getCell(0); cell.getStringCellValue(); dataList.add(cell.getStringCellValue()); logger.debug("Cell Data - [{}]", cell.getStringCellValue()); } logger.debug("The Size of XLSX file count: {}", dataList.size()); } catch (IOException ex) { logger.error("XLSX File process error.", ex); } // CLEAN CollectionUtils.filter(dataList, PredicateUtils.notNullPredicate()); return dataList; } 在这个方法中我们就使用了 rowIterator 迭代器。 假设我们处理的 Excel 数据只有…

2020年12月03日 0Comments 815Browse 0Like Read more
Computer Science

Discourse 如何配置 GitHub 登录方式

访问下面的网站:https://github.com/settings/developers 然后单击左侧的 OAuth Apps ,然后选择 New OAuth App 。     然后填入需要的字段。     配置 GitHub 请确定你的 Callback URL 在你的域名后使用使用路径 /auth/github/callback。 例如我们网站的地址为 https://www.ossez.com,那么我们需要在 Homepage URL 中,填写我们网站的地址。 在 Callback URL 填入的返回 URL 为: https://www.ossez.com/auth/github/callback。 (可选的)这个选项是可选的,你可以上传你网站的 Logo 到 GitHub 上。     当你创建成功应用后,你应该看到 Client ID 和 Client Secret 这 2 个参数,你需要拷贝这个参数添加到你的 Discourse 站点中。 配置 Discourse Discourse 站点中的字段为:github_client_id 和 github_client_secret 然后在 Discourse 中启用 enable github logins 设置。     完成上面的设置后,你应该就可以在你的网站上使用 GitHub 登录了。 如下面的界面显示的一样,你可以在登录或者注册的时候使用你已经在 GitHub 上成功注册和使用的账号了。 针对技术网站来说可能会带来一点点的小优势。 https://www.ossez.com/t/discourse-github/750

2020年12月03日 0Comments 761Browse 0Like Read more
Computer Science

Docker 添加容器到一个网络

要创建一个安全并且能够协同运行的 Web 应用程序,你需要创建一个网络。 通过网络,在默认情况下为容器提供了完全独立的环境。在你第一次运行一个容器的时候,你可以将容器添加到一个网络中。 例如,我们希望运行一个容器来运行 PostgreSQL 数据库,并且传递 --net=my_bridge 标记来到你新网络的连接中,可以运行下面的命令: $ docker run -d --net=my_bridge --name db training/postgres 如果你检查你的 my_bridge ,你可以看到已经有一个容器被添加(attached)上去了。 你也可以检查你的容器来查看连接在哪里: $ docker inspect --format='{{json .NetworkSettings.Networks}}' db {"my_bridge":{"NetworkID":"7d86d31b1478e7cca9ebed7e73aa0fdeec46c5ca29497431d3007d2d9e15ed99", "EndpointID":"508b170d56b2ac9e4ef86694b0a76a22dd3df1983404f7321da5649645bf7043","Gateway":"10.0.0.1","IPAddress":"10.0.0.254","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"MacAddress":"02:42:ac:11:00:02"}} 现在,你可以使用你熟悉的命令来启动一个 Web 应用程序了。这次不需要指定一个网络。 $ docker run -d --name web training/webapp python app.py     你的 web 应用运行在哪个网络下呢?可以检查应用来确定这个应用运行在默认的 桥接(bridge) 网络。 $ docker inspect --format='{{json .NetworkSettings.Networks}}' web {"bridge":{"NetworkID":"7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812", "EndpointID":"508b170d56b2ac9e4ef86694b0a76a22dd3df1983404f7321da5649645bf7043","Gateway":"172.17.0.1","IPAddress":"10.0.0.2","IPPrefixLen":24,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"MacAddress":"02:42:ac:11:00:02"}} 然后获得你 web 应用的 IP 地址。 $ docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' web 172.17.0.2 现在,可以打开一个 shell 来运行 db 容器: $ docker container exec -it db bash root@a205f0dd33b2:/# ping 172.17.0.2 ping 172.17.0.2 PING 172.17.0.2 (172.17.0.2) 56(84) bytes of data. ^C --- 172.17.0.2 ping statistics --- 44 packets transmitted, 0 received, 100% packet loss, time 43185ms 在过一段时间后,可以使用 CTRL-C 来终止 ping 命令,请注意 ping 显示终止了。 这是因为这个 2 个容器运行在不同的网络中,你可以使用 exit 命令来关闭容器进行修复。 Docker 网络运行你附件一个容器到多个你愿意的网络上。你甚至可以添加到一个正在运行的容器上。 运行下面的命令,将 web 应用添加到 my_bridge 网络上。 $ docker network connect my_bridge web     打开 shell 然后再次进入 db 应用,然后尝试使用 ping 命令。这次你可以仅仅使用容器的名字 web 就可以了,而不需要使用 IP 地址。 $ docker container exec -it db bash root@a205f0dd33b2:/# ping web PING web (10.0.0.2) 56(84) bytes of data. 64 bytes from web (10.0.0.2): icmp_seq=1 ttl=64 time=0.095 ms 64 bytes from web (10.0.0.2): icmp_seq=2 ttl=64 time=0.060 ms 64 bytes from web (10.0.0.2): icmp_seq=3 ttl=64 time=0.066 ms ^C --- web ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2000ms rtt min/avg/max/mdev = 0.060/0.073/0.095/0.018 ms 命令 ping 显示连接到了一个不同的 IP 地址,这个在 my_bridge 上的 IP 地址与 bridge 网络上的 IP 地址是不同的。

2020年12月02日 0Comments 699Browse 0Like Read more
12345
Archives
  • June 2026
  • May 2026
  • April 2026
  • March 2026
  • February 2026
  • January 2026
  • December 2025
  • November 2025
  • October 2025
  • September 2025
  • August 2025
  • July 2025
  • June 2025
  • May 2025
  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • August 2024
  • July 2024
  • June 2024
  • May 2024
  • April 2024
  • March 2024
  • February 2024
  • January 2024
  • December 2023
  • November 2023
  • October 2023
  • September 2023
  • August 2023
  • July 2023
  • June 2023
  • May 2023
  • April 2023
  • December 2022
  • November 2022
  • October 2022
  • September 2022
  • August 2022
  • May 2022
  • April 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • July 2021
  • June 2021
  • May 2021
  • April 2021
  • March 2021
  • February 2021
  • January 2021
  • December 2020
  • November 2020
  • October 2020
  • September 2020
  • August 2020
  • July 2020
  • June 2020
  • May 2020
  • April 2020
  • March 2020
  • February 2020
  • January 2020
  • December 2019
  • November 2019
  • October 2019
  • September 2019
  • August 2019
  • July 2019
  • June 2019
  • May 2019
  • April 2019
  • March 2019
  • February 2019
  • January 2019
  • December 2018
  • November 2018
  • October 2018
  • September 2018
  • August 2018
  • July 2018
  • June 2018
  • May 2018
  • April 2018
  • March 2018
Categories
  • Computer Science (2,367)
    • Confluence (663)
    • Gradle (12)
  • U.S. (511)
  • 文化旅游 (146)

COPYRIGHT © 2020 CWIKIUS. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS

湘ICP备2020018253号-1