前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >腾讯云Java SDK maven使用方式的详细介绍

腾讯云Java SDK maven使用方式的详细介绍

原创
作者头像
Windows技术交流
修改于 2023-07-25 10:43:45
修改于 2023-07-25 10:43:45
6.2K00
代码可运行
举报
文章被收录于专栏:Windows技术交流Windows技术交流
运行总次数:0
代码可运行

我的笔记步骤结束后有详细过程

笔记

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
0、搭建vs code java环境,调通mvn

1、命令行mvn创建test项目
mvn archetype:generate -DgroupId=com.testing -DartifactId=test -Dversion=1.0.0 -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeCatalog=internal

2、安装依赖到本地

cd test
添加依赖到pom.xml
    <dependency>
      <groupId>javax.xml.bind</groupId>
      <artifactId>jaxb-api</artifactId>
      <version>2.3.1</version>
    </dependency>

    <dependency>
      <groupId>com.squareup.okhttp3</groupId>
      <artifactId>okhttp</artifactId>
      <version>3.3.0</version>
    </dependency>

在命令行中,导航到项目目录,然后运行以下命令以下载并安装新添加的依赖项
mvn clean install


3、改文件名跟类名要匹配
C:\Users\Administrator\test\src\main\java\com\testing
比如文件名是Chaxunyure.java,那么public class APIv3要改成public class Chaxunyure
文件开头第一句加package com.testing;

4、编译
mvn compile

5、执行
mvn exec:java -Dexec.mainClass="com.testing.App"
mvn exec:java -Dexec.mainClass="com.testing.Chaxunyure"
mvn exec:java -Dexec.mainClass="com.testing.PreheatSnapshot"
mvn exec:java -Dexec.mainClass="com.testing.StopPreheatedSnapshots"
6、编译和执行可以2步连在一起搞
mvn compile exec:java -Dexec.mainClass="com.testing.App"
mvn compile exec:java -Dexec.mainClass="com.testing.Chaxunyure"
mvn compile exec:java -Dexec.mainClass="com.testing.PreheatSnapshot"
mvn compile exec:java -Dexec.mainClass="com.testing.StopPreheatedSnapshots"
7、不自动结束,2个办法
①带参数-Dexec.cleanupDaemonThreads=false
mvn compile exec:java -Dexec.mainClass="com.testing.App" -Dexec.cleanupDaemonThreads=false
mvn compile exec:java -Dexec.mainClass="com.testing.Chaxunyure" -Dexec.cleanupDaemonThreads=false
mvn compile exec:java -Dexec.mainClass="com.testing.PreheatSnapshot" -Dexec.cleanupDaemonThreads=false
mvn compile exec:java -Dexec.mainClass="com.testing.StopPreheatedSnapshots" -Dexec.cleanupDaemonThreads=false
②给main函数最后一句增加System.exit(0);

1、配置环境

①比较VS2019和VS Code,Visual Studio 2019支持C#/C++/Python/Node.js,安装VS2019,腾讯云好几种SDK都能使用了,真方便,但是不支持Java,而VS Code轻量支持Java,够用了

https://code.visualstudio.com/docs/java/java-faq#_will-this-be-available-for-visual-studio

这个链接介绍说Visual Studio不会支持Java,VS Code对Java是轻量级支持

Currently we don't plan to extend the Java support to Visual Studio. There's already great IDEs for Java and we're focusing on VS Code to provide a lightweight experience in a polyglot editor.

②安装VS Code和Java Extension Pack

如下图,Java Extension Pack是包含maven的,安装好Java Extension Pack和openJDK11后,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
启动一个java空白项目,然后就会自动把maven装全
启动一个java空白项目,然后就会自动把maven装全
启动一个java空白项目,然后就会自动把maven装全

然后手动把mvn.cmd的目录加入环境变量,搜mvn.cmd找到路径如下(以你搜到的为准)

例如:C:\Users\Administrator\.m2\wrapper\dists\apache-maven-3.6.2-bin\795eh28tki48bv3l67maojf0ra\apache-maven-3.6.2\bin\

例如:C:\Users\HASEE\.m2\wrapper\dists\apache-maven-3.6.3-bin\1iopthnavndlasol9gbrbg6bf2\apache-maven-3.6.3\bin\

运行systempropertiesadvanced添加环境变量

Java Extension Pack的下载地址:https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-java-pack (这个地址实际是从搜索得来的,访问https://marketplace.visualstudio.com/ 搜vscjava.vscode-java-pack得到)

Java Extension Pack的介绍:Java Extension Pack is a collection of popular extensions that can help write, test and debug Java applications in Visual Studio Code. Check out Java in VS Code to get started.

这个链接很关键:https://code.visualstudio.com/docs/languages/java 打开直接下载Visual Studio Code Java Pack Installer进行安装会比较慢,建议先单独下载VS Code安装,然后再安装Java Extension Pack,最后再下载安装OpenJDK11

两种办法,一种直接访问上面的链接点install按钮会调用vs code打开后是下图这样,就行点install即可

另一种是打开vs code → welcome界面 → getting started → browse language extensions → 搜索 vscjava.vscode-java-pack

安装OpenJDK11参考Lightweight Mode, Maven Support, Java Package, and Dependency Management in Visual Studio Code

点下图中的Run a Command... 然后输入Java: Configure Java Runtime 点一下,在出来的结果里点一下蓝色的Java: Configure Java Runtime会出现openJDK配置的界面

2、命令行mvn创建test项目

mvn archetype:generate -DgroupId=com.testing -DartifactId=test -Dversion=1.0.0 -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeCatalog=internal

加粗标记的3个自己填,第1个就是域名机构在前,第2个很重要,是整个项目的目录

如果遇到Y::回车即可

最后一个-DarchetypeCatalog=internal非常重要,否则可能卡住不动

artifactId等于什么,一会儿就得进什么目录

3、项目配置调试排错

进到第一步创建的test项目(目录),里面有个pom.xml,编辑pom.xml,增加下面2段话

第一段话里,properties部分的maven.compiler.source和maven.compiler.target的11是我jdk的大版本号,你的是几就写几,我写成11确实不报错了

其实我用VS Code的向导创建了一个maven项目看了下pom.xml的里properties,maven.compiler.source和maven.compiler.target是1.7,写成1.7也不报错了

结合报错信息“请使用 1.6 或更高版本”,让人马上联想到写成1.7可能更正确

<properties>

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

<maven.compiler.source>11</maven.compiler.source>

<maven.compiler.target>11</maven.compiler.target>

</properties>

<dependency>

<groupId>com.tencentcloudapi</groupId>

<artifactId>tencentcloud-sdk-java</artifactId>

<version>3.1.13</version>

</dependency>

第2段话注意塞到 <dependencies> </dependencies> 里面,里面的版本号以你在这里选取的为准https://github.com/TencentCloud/tencentcloud-sdk-java/releases

4、mvn install 安装依赖到本地

命令行cd test进到第一步创建的test项目(目录)

mvn install -DgroupId=com.tencentcloudapi -DartifactId=tencentcloud-sdk-java -Dversion=3.1.13

这里注意末尾的版本号跟前面pom.xml里的版本号一致

5、编译

mvn compile

6、执行

mvn exec:java -Dexec.mainClass="com.testing.App"

这里的App,实际是test\target\classes\com\testing目录里的App.class,由test\src\main\java\com\testing目录里的App.java编译得来

test\src\main\java\com\testing目录里的App.java是创建maven项目时自动生成的,api explorer里获取的源码DescribeCdnDomainLogs.java(文件命名跟api explorer里自动生成的类名即接口名保持一致即可,这里以DescribeCdnDomainLogs这个接口为例)跟App.java放在同一目录

api explorer生成的代码开头少一句话:package com.testing;

加上这句话,生成的DescribeCdnDomainLogs.class就跟App.class在同一目录,如果缺这句话,即使DescribeCdnDomainLogs.java跟App.java在同一个目录也没用,生成的DescribeCdnDomainLogs.class会在test\target\classes\根目录目录,而不是test\target\classes\com\testing目录

运行的时候就得执行mvn exec:java -Dexec.mainClass="DescribeCdnDomainLogs" (注意不是"com.testing.DescribeCdnDomainLogs",com.testing.没了)

如果你在DescribeCdnDomainLogs.java开头给加上了package com.testing; 那运行的时候就是mvn exec:java -Dexec.mainClass="com.testing.DescribeCdnDomainLogs"

编译和执行可以2步连在一起搞:mvn compile exec:java -Dexec.mainClass="com.testing.DescribeCdnDomainLogs"

如果DescribeCdnDomainLogs.java代码最后一句没有System.exit(0); 那么,执行的时候会有如下WARNING瑕疵

如何解决这个瑕疵,有2种办法:

①带参数-Dexec.cleanupDaemonThreads=false执行:mvn compile exec:java -Dexec.mainClass="com.testing.DescribeCdnDomainLogs" -Dexec.cleanupDaemonThreads=false

②修改DescribeCdnDomainLogs.java代码,给main函数最后一句增加System.exit(0);

然后执行mvn compile exec:java -Dexec.mainClass="com.testing.DescribeCdnDomainLogs"

根据报错信息“This is not a problem with exec:java, it is a problem with the running code. Although not serious, it should be remedied.”来看,主要还是代码问题,所以我倾向给main函数加一句代码解决,而不是在执行环节加特定参数。

举例:

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
TKE创建的容器如何被别的vpc下云主机访问?
此专栏是为了“补货”一些官网没有的操作文档,大家走过路过,可以留言告诉我,哪里写的不清不楚的地方,洒家给它整明白了、
pengsiryan
2020/01/03
3.4K0
NAT网关的应用
NAT 网关(NAT Gateway)是一种支持 IP 地址转换服务,提供 SNAT 和 DNAT 能力,可为私有网络(VPC)内的资源提供安全、高性能的 Internet 访问服务。
研究僧
2020/06/21
3.6K0
公网网关
之前突然有客户问起这个东西,纠结是购买公网网关还是NAT网关,经过一番了解后,我推荐了公网网关。
相柳
2019/03/13
8.3K5
公网网关
tke集群固定ip模式pod如何绑定eip访问公网
业务部署到tke集群中,很多时候需要通过公网去调用第三方接口服务,正常pod访问公网是依赖于节点访问公网的能力,节点访问公网可以给节点绑定公网ip或者给vpc绑定nat网关。其实在tke中,我们还可以给pod绑定弹性公网ip(eip),让pod通过绑定的eip去访问公网。下面我们来说说如何给pod配置eip,并通过eip去访问公网。
聂伟星
2021/10/31
7.9K2
玩转腾讯云-云上网络实操
本文带大家一起通过实操方式来学习腾讯云私有网络管理,通过弹性公网IP、NAT网关访问Internet,通过安全组、ACL进行网络访问控制。对等连接、云联网实现跨地域网络访问等网络互联实操请参阅:玩转腾讯云-网络互联实操。
hsp
2022/05/15
8.6K0
玩转CVM之外网不通排查
在用户使用CVM的过程中,经常会出现访问外网不通的情况。外网不通的原因从平台到系统都有可能会出现,在排查的时候涉及的方面有很多。基于此,本文提供详细的排查思路帮助各位解决类似的问题。
苏欣
2019/07/23
19.1K0
如何利用腾讯云BGP网络提升客户外网出口的冗余
最近几年,互联网公司发展迅速,有很多互联网公司本身的基础架构都构建在一些公有云厂商之上,除了节省初期投资之外,另外也是借助于一些大的云厂商本身的网络能力,实现业务更好的覆盖。
张小波
2018/10/25
6.9K2
网络产品使用场景及各种坑规避
子区:类似于广州一区、广州二区这种,一个地域含有多个子区,对应于aws就是zone;
用户7316624
2020/07/17
6.5K0
网络产品使用场景及各种坑规避
容灾系列(七)——混合云公网出口容灾建设
企业系统架构的形态为混合云模式,即IDC和云平台共同承载线上业务流量,来保证业务高可用。墨菲定律告诉我们,如果事情有变坏的可能,不管这种可能性有多小,它总会发生。如果IDC公网出口异常,IDC内业务要访问第三方服务,如何实现高可用呢?本文结合云平台公网能力,从网络平台角度来分析容灾建设可行性。
开元
2021/12/29
3.4K0
容灾系列(七)——混合云公网出口容灾建设
TEZ API 文档
腾讯云计算产品团队
2023/07/26
7020
如何最便捷的打通不同地区的容器集群网络?
此专栏是为了“补货”一些官网没有的操作文档,大家走过路过,可以留言告诉我,哪里写的不清不楚的地方,洒家给它整明白了、
pengsiryan
2020/01/17
8170
全面理解云上网络
作者:ronaldoliu,腾讯 IEG 后台开发工程师 公司一直在推动业务上云,同时越来越多的项目也要开始出海,对云的依赖会越来越多。但是云并不像它宣传的那么简单易用,尤其是云上网络,是大家理解云的一大阻碍。本文比较全面地梳理了云上网络的各种概念以及简要的原理,希望能够帮助大家建立一个知识索引,以备不时之需。由于本人不是云的专家,因此文章中有不对的地方也欢迎指正。 私有网络 VPC VPC 全称 Virtual Private Cloud,翻译成私有网络其实不太准确,但是它确实就是对网络资源的一种抽象。我
腾讯技术工程官方号
2022/06/20
12.3K1
全面理解云上网络
TKE 容器外网访问能力介绍
当前的实现是让容器访问外网的数据包 SNAT 为节点 IP 出去,所以容器具备外网访问能力依赖于节点具备外网访问能力。
zhaoqiyuan
2020/03/13
4.6K0
公网IP 申请 与 配置
公司是电信的家庭千兆宽带,我直接打电信客服 转人工,直接要的公网IP!什么理由都不要,基本上午要,下午就可以了。过程一共3个电话。一个是我打给电信客服的申请电话,一个是电信专员询问我做公网是不是单个路由进行配置的确认电话,另一个就是电信客服回复我:公网IP 申请成功,并让我重新登录一下宽带猫的宽带账号,就可以使用了!!!切记,要重新登录一下猫的宽带账号,重启是无效的!
收心
2022/01/19
10K0
公网IP 申请 与 配置
跨VPC或者跨云供应商搭建K8S集群正确姿势-番外篇
上周发了几篇关于Kubernetes集群搭建相关的文章,里面有一个部分谈到了Kubernetes集群CNI插件(也就是容器网络接口)的部署,很多读者看到了这个部分之后有问到“如何跨VPC或者跨云供应商打通集群之间的网络访问”,我当时搭建集群和写文章的时候也没有注意这点,只是根据以往的经验单纯地把几台机器搞在一起再加上部署好CNI就想当然的以为Kubernetes集群算是“全网通”了。经过读者的提醒和自己的实践,发现忽略了一个严重的问题,也是大多数人在个人搭建Kubernetes集群常常会碰到的问题,也是就今天需要谈论的问题---“如何跨VPC或者跨云供应商搭建Kubernetes集群,保证集群网络互通”。
云爬虫技术研究笔记
2020/02/19
3.3K1
跨VPC或者跨云供应商搭建K8S集群正确姿势-番外篇
腾讯云 ES Kibana 内网访问有问题,怎么办?
最近经常遇到内部客户、外部客户使用Kibana内网访问ES集群的时候出现各种问题,因为涉及的流程比较多,今天特花点时间梳理一下这部分内容。
南非骆驼说大数据
2021/03/04
5.2K0
内网穿透和公网ip什么区别
在远程访问、企业组网等场景中,内网穿透和公网IP是两种常见的解决方案,但它们的原理、成本和使用方式截然不同。
零讯
2025/05/14
1300
内网穿透和公网ip什么区别
NAS 篇二:外网访问NAS上面的应用
一开始跟客服说客服说办理专网才有公网IP,申请失败!(客服可能理解错了,要的不是固定的公网IP,有钱当然随意了)
IT小马哥
2020/04/08
10.2K2
配置使用 Snat 实现内网代理上网
NAT 全名是 Network Address Translation,字面上的意思是网络地址转换,它还可以分为源地址转换(SNAT)和目的地址转换(DNAT)。SNAT 主要是用来给内网的主机提供连接到 Internet 的默认网关,而 DNAT 主要将内网机器的端口映射到外网上面。
民工哥
2021/10/18
1.9K0
配置使用 Snat 实现内网代理上网
neutron外网支持多子网
外网有一个子网,子网的ip地址用完了,需要添加新的外网地址段,同一个内网子网上有两个虚拟机,分别绑定这两个外网子网的fip。
惠伟
2021/02/24
1.7K0
neutron外网支持多子网
相关推荐
TKE创建的容器如何被别的vpc下云主机访问?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验