当前位置: 首页 > wzjs >正文

工作总结加强部门网站建设关键词在线查询

工作总结加强部门网站建设,关键词在线查询,wordpress做一个视频网站,网站排名分析 用户需求当前有一个系统用于导出项目,而每次导出的项目并不可以直接使用,需要手动从npm私人仓库中获取一个npm包然后将他们整合到一起它才是一个完整的项目,所以目前我的任务就是编写一个java程序可以自动地从npm私人仓库中拉取下来那个模板代码到指定…

        当前有一个系统用于导出项目,而每次导出的项目并不可以直接使用,需要手动从npm私人仓库中获取一个npm包然后将他们整合到一起它才是一个完整的项目,所以目前我的任务就是编写一个java程序可以自动地从npm私人仓库拉取下来那个模板代码到指定地路径上去。并且我还要将这个java程序打包成jar包上传到先前创建好的maven私有仓库中去,这样可以在pom.xml中引入即可使用。

HttpClient

        Apache HttpClient 是一个用于发送 HTTP 请求的客户端库,常用于 Java 应用程序中处理 HTTP 请求和响应。

        有很多种方式可以让HttpClien连接你的项目,并依靠它去写代码。 最简单的方式也许就是使用 Maven 。你可以通过在你的 pom.xml 文件里的 标签中增加像下面这样的片段来完成这个整合。

<dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5.13</version> <!-- 确保使用合适的版本 --></dependency>

        这样之后,再在程序中将它引入即可以使用。

import org.apache.http.auth.AuthScope;import org.apache.http.auth.UsernamePasswordCredentials;import org.apache.http.client.CredentialsProvider;import org.apache.http.client.methods.CloseableHttpResponse;import org.apache.http.client.methods.HttpGet;import org.apache.http.impl.client.BasicCredentialsProvider;import org.apache.http.impl.client.CloseableHttpClient;import org.apache.http.impl.client.HttpClientBuilder;import org.apache.http.util.EntityUtils;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.URLEncoder;import java.nio.charset.StandardCharsets;

JAVA程序

        接下来是编写java程序,我创建了以下代码的java程序。

package org.example;import org.apache.http.auth.AuthScope;import org.apache.http.auth.UsernamePasswordCredentials;import org.apache.http.client.CredentialsProvider;import org.apache.http.client.methods.CloseableHttpResponse;import org.apache.http.client.methods.HttpGet;import org.apache.http.impl.client.BasicCredentialsProvider;import org.apache.http.impl.client.CloseableHttpClient;import org.apache.http.impl.client.HttpClientBuilder;import org.apache.http.util.EntityUtils;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.URLEncoder;import java.nio.charset.StandardCharsets;public class NpmDownloader {private static final String REPO_URL = "http://localhost/repository/yb-npm/";private static final String PACKAGE_NAME = "@yunbin/yunbin-ui";private static final String VERSION = "1.0.0";private static final String USERNAME = "admin";private static final String PASSWORD = "admin123";private static final String DOWNLOAD_DIR = "E:/ideaProjects/CloneNpm/src/main/directory"; // e.g., "C:/downloads"public static void main(String[] args) {try {downloadNpmPackage(REPO_URL, PACKAGE_NAME, VERSION, USERNAME, PASSWORD, DOWNLOAD_DIR);} catch (IOException e) {e.printStackTrace();}}public static void downloadNpmPackage(String REPO_URL, String packageName, String version, String USERNAME, String PASSWORD, String DOWNLOAD_DIR) throws IOException {String encodedPackageName = URLEncoder.encode(packageName, StandardCharsets.UTF_8.toString());// 构建正确的包下载路径String url = REPO_URL + encodedPackageName + "/-/" + packageName.substring(packageName.indexOf('/') + 1) + "-" + version + ".tgz";// 创建下载目录(如果不存在)File downloadDir = new File(DOWNLOAD_DIR);if (!downloadDir.exists()) {if (!downloadDir.mkdirs()) {throw new IOException("Failed to create directory: " + DOWNLOAD_DIR);}}CredentialsProvider credsProvider = new BasicCredentialsProvider();credsProvider.setCredentials(AuthScope.ANY,new UsernamePasswordCredentials(USERNAME, PASSWORD));try (CloseableHttpClient client = HttpClientBuilder.create().setDefaultCredentialsProvider(credsProvider).build()) {HttpGet request = new HttpGet(url);try (CloseableHttpResponse response = client.execute(request)) {if (response.getStatusLine().getStatusCode() == 200) {try (InputStream inputStream = response.getEntity().getContent();OutputStream outputStream = new FileOutputStream(DOWNLOAD_DIR + "/" + packageName.substring(packageName.indexOf('/') + 1) + "-" + version + ".tgz")) {byte[] buffer = new byte[1024];int bytesRead;while ((bytesRead = inputStream.read(buffer)) != -1) {outputStream.write(buffer, 0, bytesRead);}}System.out.println("Package downloaded successfully.");} else {System.out.println("Failed to download package. Status code: " +response.getStatusLine().getStatusCode());}}}}}

打包成jar包

        直接运行mvn deploy就可以将该项目打包成jar包并上传到私人仓库中去。(maven的私人仓库地址和仓库认证如何配置就不在这里介绍。)

测试程序(如何使用)

        创建了一个测试程序,在其中的pom.xml文件中引入已经打包好的jar包(引入的仓库地址配置在settings.xml中,在这里也不过多赘述。)

        在程序中编写好以下代码,然后点击运行。

package org.example;import java.io.IOException;public class Main {public static void main(String[] args) throws IOException {String REPO_URL = "http://localhost:8081/repository/yb-npm/";String PACKAGE_NAME = "@yunbin/yunbin-ui";String VERSION = "1.0.0";String USERNAME = "admin";String PASSWORD = "admin123";String DOWNLOAD_DIR = "E:/ideaProjects/testCloneNpm/src/main/directory"; // e.g., "C:/downloads"NpmDownloader.downloadNpmPackage(REPO_URL,PACKAGE_NAME,VERSION,USERNAME,PASSWORD,DOWNLOAD_DIR);}}

        即可看见在目标文件夹中拉取到了目标私人仓库中的代码,这里要注意,在设置DOWNLOAD_DIR的时候,所存的目标文件夹可以不存在程序会自动创建该文件夹,根据该路径将拉取下来的npm包存储到该目标文件夹中,如果该文件夹里已有内容,程序会依据同名覆盖的原则进行覆盖。

http://www.dtcms.com/wzjs/144248.html

相关文章:

  • html网站制作公司做网络推广哪个网站好
  • 贵州省公路建设有限公司网站长沙百度关键词排名
  • 营销网站的主题 定位 修改建议网推接单平台有哪些
  • 不备案怎么做淘宝客网站新东方在线教育平台官网
  • b2b网站用户群划分永久免费个人网站注册
  • 做拍卖网站有哪些亚洲足球最新排名
  • 网站建立多少钱百度搜索智能精选
  • 昆明制作企业网站seo网络优化招聘信息
  • 萧山网站建设靠谱seoseo职位描述
  • 网站后台登陆验证码不对互联网平台推广怎么做
  • 目前b2b网站有哪些沧州网络推广公司
  • 男女插孔做暖暖的试看网站大全如何广告推广
  • 做企业网站支付功能厦门seo推广外包
  • 怀宁县住房和建设局网站怎么开网站
  • 网站已经申请了域名 接下来怎么上海搜索排名优化公司
  • 学校网站制作方案腾讯域名注册官网
  • 国内网站排名电商培训基地
  • 企业做网站建设的好处国外搜索引擎网站
  • 建设网站哪个比较好青岛网络优化哪家专业
  • win7如何建设免费网站网页免费制作网站
  • 传奇免费网站建设现场直播的视频
  • 武汉网站制作pc 手机百度竞价点击一次多少钱
  • wordpress前台不成功搜索引擎优化seo的英文全称是
  • 茂名公司网站设计团队下载手机百度最新版
  • 选择热门网站做推广的原因网址如何被快速收录
  • 做网站必须要有服务器吗怎么下载需要会员的网站视频
  • 有域名如何搭建网站网站建设杭州
  • 用手机可以做网站嘛推广普通话的意义是什么
  • 制作手机主题的appseo网站优化培训厂家报价
  • 有什么类型的网站海南百度推广中心