Allure自动化测试报告之修改allure测试报告名称
1.从github获取allure代码
https://github.com/allure-framework/allure2
2.安装gradle,用于打包jar
brew install gradle
3.配置gradle环境变量
vim ~/.bash_profile
export GRADLE_HOME=/usr/local/Cellar/gradle/5.5.
export PATH=${GRADLE_HOME}/bin
4.生效环境变量
source ~/.bash_profile
5.查看是否配置成功
gradle --version Welcome to Gradle 5.5.! Here are the highlights of this release:
- Kickstart Gradle plugin development with gradle init
- Distribute organization-wide Gradle properties in custom Gradle distributions
- Transform dependency artifacts on resolution For more details see https://docs.gradle.org/5.5.1/release-notes.html ------------------------------------------------------------
Gradle 5.5.
------------------------------------------------------------ Build time: -- :: UTC
Revision: 3245f748c7061472da4dc184991919810f7935a5 Kotlin: 1.3.
Groovy: 2.5.
Ant: Apache Ant(TM) version 1.9. compiled on March
JVM: 1.8
OS:
6.进入目录修改src\main\java\io\qameta\allure\summary中的SummaryPlugin.java
setReportName中参数修改成测试报告名称即可
/Users/admin/Downloads/allure2-master/allure-generator/
/*
* Copyright 2019 Qameta Software OÜ
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package io.qameta.allure.summary; import io.qameta.allure.CommonJsonAggregator;
import io.qameta.allure.Constants;
import io.qameta.allure.core.LaunchResults;
import io.qameta.allure.entity.GroupTime;
import io.qameta.allure.entity.Statistic; import java.util.List; /**
* Plugins generates Summary widget.
*
* @since 2.0
*/
public class SummaryPlugin extends CommonJsonAggregator { /**
* Name of the json file.
*/
protected static final String JSON_FILE_NAME = "summary.json"; public SummaryPlugin() {
super(Constants.WIDGETS_DIR, JSON_FILE_NAME);
} @Override
protected SummaryData getData(final List<LaunchResults> launches) {
final SummaryData data = new SummaryData()
.setStatistic(new Statistic())
.setTime(new GroupTime())
.setReportName("接口自动化测试报告");
launches.stream()
.flatMap(launch -> launch.getResults().stream())
.forEach(result -> {
data.getStatistic().update(result);
data.getTime().update(result);
});
return data;
}
}
7.执行gradle build(要用梯子不然构建不成功,这有点坑)
admin:allure-generator admin$ gradle build
> Task :allure-generator:buildWeb
> allure-generator@1.0. build /Users/admin/Downloads/allure2-master/allure-generator
> npm run webpack:prod
> allure-generator@1.0. webpack:prod /Users/admin/Downloads/allure2-master/allure-generator
> npm run cleanup && npm run webpack:prod:main
> allure-generator@1.0. cleanup /Users/admin/Downloads/allure2-master/allure-generator
> rimraf build/www
> allure-generator@1.0. webpack:prod:main /Users/admin/Downloads/allure2-master/allure-generator
> npm run webpack -- --config webpack/webpack.prod.js --profile
> allure-generator@1.0. webpack /Users/admin/Downloads/allure2-master/allure-generator
> node --max_old_space_size= node_modules/webpack/bin/webpack.js "--config" "webpack/webpack.prod.js" "--profile"
Browserslist: caniuse-lite is outdated. Please run next command `npm update caniuse-lite browserslist`
Hash: 5afdb7cecc3130013cde
Version: webpack 4.28.
Time: 21998ms
Built at: -- ::
Asset Size Chunks Chunk Names
app.js KiB [emitted] [big] main
favicon.ico bytes [emitted]
styles.css 1.47 MiB [emitted] [big] main
Entrypoint main [big] = styles.css app.js
[] ./src/main/javascript/helpers/t.js bytes {} [built]
[] 536ms -> [] 4885ms -> factory:903ms building:5534ms dependencies:1188ms = 13046ms
[] ./src/main/javascript/utils/translation.js + modules 79.4 KiB {} [built]
| ./src/main/javascript/utils/translation.js 1.09 KiB [built]
| [] 536ms -> [] 4885ms -> factory:903ms building:5534ms dependencies:1188ms = 13046ms
| + hidden modules
[] ./src/main/javascript/utils/settings.js bytes {} [built]
[] 536ms -> [] 4885ms -> factory:40ms building:821ms dependencies:2343ms = 8625ms
[] ./src/main/javascript/utils/settingsFactory.js + modules 5.31 KiB {} [built]
| ./src/main/javascript/utils/settingsFactory.js 3.91 KiB [built]
| [] 536ms -> [] 4885ms -> factory:40ms building:821ms dependencies:2343ms = 8625ms
| ./src/main/javascript/data/localstorage/LocalStorageModel.js 1.38 KiB [built]
| [] 536ms -> [] 4885ms -> [] 861ms -> factory:847ms building:899ms dependencies:426ms = 8454ms
[] ./src/main/javascript/styles.scss bytes {} [built]
[] 536ms -> [] 4885ms -> factory:903ms building:5534ms dependencies:1188ms = 13046ms
[] ./node_modules/file-loader/dist/cjs.js?name=favicon.ico!./src/main/javascript/favicon.ico bytes {} [built]
[] 536ms -> factory:680ms building:4205ms dependencies:732ms = 6153ms
[] ./src/main/javascript/blocks/arrow/styles.scss bytes {} [built]
[] 536ms -> factory:680ms building:4205ms dependencies:732ms = 6153ms
[] ./src/main/javascript/blocks/executor-icon/styles.scss bytes {} [built]
[] 536ms -> factory:680ms building:4205ms dependencies:732ms = 6153ms
[] ./src/main/javascript/blocks/status-details/styles.scss bytes {} [built]
[] 536ms -> factory:680ms building:4205ms dependencies:732ms = 6153ms
[] ./src/main/javascript/blocks/table/styles.scss bytes {} [built]
[] 536ms -> factory:680ms building:4205ms dependencies:732ms = 6153ms
[] ./src/main/javascript/blocks/tabs/styles.scss bytes {} [built]
[] 536ms -> factory:680ms building:4205ms dependencies:732ms = 6153ms
[] ./src/main/javascript/blocks/pane/styles.scss bytes {} [built]
[] 536ms -> factory:680ms building:4205ms dependencies:732ms = 6153ms
[] ./src/main/javascript/plugins/tab-category/index.js bytes {} [built]
[] 536ms -> factory:680ms building:4205ms dependencies:732ms = 6153ms
[] ./src/main/javascript/plugins/tab-suites/index.js bytes {} [built]
[] 536ms -> factory:680ms building:4205ms dependencies:732ms = 6153ms
[] ./src/main/javascript/index.js + modules KiB {} [built]
| ./src/main/javascript/index.js 1.41 KiB [built]
| factory:50ms building:486ms = 536ms
| ./src/main/javascript/app.js 1.8 KiB [built]
| [] 536ms -> factory:680ms building:4205ms dependencies:732ms = 6153ms
| ./src/main/javascript/pluginApi.js bytes [built]
| [] 536ms -> factory:680ms building:4205ms dependencies:732ms = 6153ms
| ./src/main/javascript/plugins/default/index.js bytes [built]
| [] 536ms -> factory:680ms building:4205ms dependencies:732ms = 6153ms
| ./src/main/javascript/plugins/tab-graph/index.js bytes [built]
| [] 536ms -> factory:680ms building:4205ms dependencies:732ms = 6153ms
| ./src/main/javascript/plugins/tab-timeline/index.js bytes [built]
| [] 536ms -> factory:680ms building:4205ms dependencies:732ms = 6153ms
| ./src/main/javascript/plugins/widget-status/index.js bytes [built]
| [] 536ms -> factory:680ms building:4205ms dependencies:732ms = 6153ms
| ./src/main/javascript/plugins/widget-severity/index.js bytes [built]
| [] 536ms -> factory:680ms building:4205ms dependencies:732ms = 6153ms
| ./src/main/javascript/plugins/widget-duration/index.js bytes [built]
| [] 536ms -> factory:680ms building:4205ms dependencies:732ms = 6153ms
| ./src/main/javascript/plugins/widget-duration-trend/index.js bytes [built]
| [] 536ms -> factory:680ms building:4205ms dependencies:732ms = 6153ms
| ./src/main/javascript/plugins/widget-retry-trend/index.js bytes [built]
| [] 536ms -> factory:680ms building:4205ms dependencies:732ms = 6153ms
| ./src/main/javascript/plugins/widget-categories-trend/index.js bytes [built]
| [] 536ms -> factory:680ms building:4205ms dependencies:732ms = 6153ms
| ./src/main/javascript/plugins/widget-summary/index.js bytes [built]
| [] 536ms -> factory:680ms building:4205ms dependencies:732ms = 6153ms
| ./src/main/javascript/plugins/widget-history-trend/index.js bytes [built]
| [] 536ms -> factory:680ms building:4205ms dependencies:732ms = 6153ms
| ./src/main/javascript/plugins/widget-suites/index.js bytes [built]
| [] 536ms -> factory:680ms building:4205ms dependencies:732ms = 6153ms
| + hidden modules
+ hidden modules
WARNING in asset size limit: The following asset(s) exceed the recommended size limit ( KiB).
This can impact web performance.
Assets:
styles.css (1.47 MiB)
app.js ( KiB)
WARNING in entrypoint size limit: The following entrypoint(s) combined asset size exceeds the recommended limit ( KiB). This can impact web performance.
Entrypoints:
main (2.11 MiB)
styles.css
app.js
WARNING in webpack performance recommendations:
You can limit the size of your bundles by using import() or require.ensure to lazy load some parts of your application.
For more info visit https://webpack.js.org/guides/code-splitting/
> Task :allure-generator:pmdMain
This analysis could be faster, please consider using Incremental Analysis: https://pmd.github.io/pmd-6.11.0/pmd_userdocs_incremental_analysis.html
Error during type resolution due to: java.lang.NoClassDefFoundError: com/opencsv/bean/MappingStrategy
Error during type resolution due to: java.lang.NoClassDefFoundError: com/opencsv/bean/MappingStrategy
> Task :allure-generator:compileTestJava
/Users/admin/Downloads/allure2-master/allure-generator/src/test/java/io/qameta/allure/allure2/Allure2PluginTest.java:: 警告: [deprecation] io.qameta.allure中的AllureUtils已过时
import static io.qameta.allure.AllureUtils.generateTestResultContainerName;
^
/Users/admin/Downloads/allure2-master/allure-generator/src/test/java/io/qameta/allure/allure2/Allure2PluginTest.java:: 警告: [deprecation] io.qameta.allure中的AllureUtils已过时
import static io.qameta.allure.AllureUtils.generateTestResultName;
^
/Users/admin/Downloads/allure2-master/allure-generator/src/test/java/io/qameta/allure/allure1/Allure1PluginTest.java:: 警告: [unchecked] 对于类型为Function<Parameter,?>[]的 varargs 参数, 泛型数组创建未经过检查
.extracting(Parameter::getName, Parameter::getValue)
^
/Users/admin/Downloads/allure2-master/allure-generator/src/test/java/io/qameta/allure/history/HistoryTrendPluginTest.java:: 警告: [unchecked] 方法调用未经过检查: 将类 ArgumentCaptor中的方法 forClass应用到给定的类型
final ArgumentCaptor<List<HistoryTrendItem>> captor = ArgumentCaptor.forClass(List.class);
^
需要: Class<S>
找到: Class<List>
其中, S,U是类型变量:
S扩展已在方法 <U,S>forClass(Class<S>)中声明的U
U扩展已在方法 <U,S>forClass(Class<S>)中声明的Object
/Users/admin/Downloads/allure2-master/allure-generator/src/test/java/io/qameta/allure/history/HistoryTrendPluginTest.java:: 警告: [unchecked] 未经检查的转换
final ArgumentCaptor<List<HistoryTrendItem>> captor = ArgumentCaptor.forClass(List.class);
^
需要: ArgumentCaptor<List<HistoryTrendItem>>
找到: ArgumentCaptor
个警告
> Task :allure-generator:testWeb
> allure-generator@1.0. test /Users/admin/Downloads/allure2-master/allure-generator
> npm run lint
> allure-generator@1.0. lint /Users/admin/Downloads/allure2-master/allure-generator
> eslint --ignore-path=.gitignore ./src/main/javascript
> Task :allure-generator:test
io.qameta.allure.allure2.Allure2PluginTest > shouldProcessInvalidStatus() PASSED
io.qameta.allure.allure2.Allure2PluginTest > shouldReadBeforesFromGroups() PASSED
io.qameta.allure.allure2.Allure2PluginTest > shouldProcessNullStageTime() PASSED
io.qameta.allure.allure2.Allure2PluginTest > shouldExcludeDuplicatedParams() PASSED
io.qameta.allure.allure2.Allure2PluginTest > shouldProcessEmptyStatus() PASSED
io.qameta.allure.allure2.Allure2PluginTest > shouldAddTestResultFormatLabel() PASSED
io.qameta.allure.allure2.Allure2PluginTest > shouldDoNotOverrideAttachmentsForGroups() PASSED
io.qameta.allure.allure2.Allure2PluginTest > shouldPickUpAttachmentsForAfters() PASSED
io.qameta.allure.allure2.Allure2PluginTest > shouldProcessNullStatus() PASSED
io.qameta.allure.allure2.Allure2PluginTest > shouldReadAftersFromGroups() PASSED
io.qameta.allure.allure2.Allure2PluginTest > shouldPickUpAttachmentsForTestCase() PASSED
io.qameta.allure.category.CategoriesPluginTest > shouldDefaultCategoriesToResults() PASSED
io.qameta.allure.category.CategoriesPluginTest > shouldWork() PASSED
io.qameta.allure.category.CategoriesPluginTest > shouldCreateTree() PASSED
io.qameta.allure.category.CategoriesPluginTest > shouldSortByStartTimeAsc() PASSED
io.qameta.allure.category.CategoriesPluginTest > flakyTestsCanBeAddedToCategory() PASSED
io.qameta.allure.category.CategoriesPluginTest > shouldSetCustomCategoriesToResults() PASSED
io.qameta.allure.retry.RetryPluginTest > shouldSkipHiddenResults() PASSED
io.qameta.allure.retry.RetryPluginTest > shouldNotMarkLatestAsFlakyIfRetriesSkipped() PASSED
io.qameta.allure.retry.RetryPluginTest > shouldNotMergeOtherTestResults() PASSED
io.qameta.allure.retry.RetryPluginTest > shouldNotMarkLatestAsFlakyIfRetriesArePassed() PASSED
io.qameta.allure.retry.RetryPluginTest > shouldMergeRetriesTestResults() PASSED
io.qameta.allure.suites.SuitesPluginTest > shouldCreateTree() PASSED
io.qameta.allure.suites.SuitesPluginTest > shouldSortByStartTimeAsc() PASSED
io.qameta.allure.suites.SuitesPluginTest > shouldCreateCsvFile() PASSED
io.qameta.allure.markdown.MarkdownAggregatorTest > shouldNotFailIfEmptyResults(Path) PASSED
io.qameta.allure.markdown.MarkdownAggregatorTest > shouldSkipResultsWithNonEmptyDescriptionHtml(Path) PASSED
io.qameta.allure.markdown.MarkdownAggregatorTest > shouldProcessDescription(Path) PASSED
io.qameta.allure.markdown.MarkdownAggregatorTest > shouldSkipResultsWithEmptyDescription(Path) PASSED
io.qameta.allure.idea.IdeaLinksPluginTest > shouldExportTestResultToJira() PASSED
io.qameta.allure.allure1.Allure1PluginTest > shouldReadTestSuiteXml() PASSED
io.qameta.allure.allure1.Allure1PluginTest > shouldExcludeDuplicatedParams() PASSED
io.qameta.allure.allure1.Allure1PluginTest > shouldCopyLabelsFromSuite() PASSED
io.qameta.allure.allure1.Allure1PluginTest > shouldAddTestResultFormatLabel() PASSED
io.qameta.allure.allure1.Allure1PluginTest > shouldReadTestSuiteJson() PASSED
io.qameta.allure.allure1.Allure1PluginTest > shouldNotFailIfSuiteTitleNotExists() PASSED
io.qameta.allure.allure1.Allure1PluginTest > shouldProcessEmptyOrNullStatus() PASSED
io.qameta.allure.allure1.Allure1PluginTest > shouldReadPropertiesFile() PASSED
io.qameta.allure.allure1.Allure1PluginTest > shouldGenerateDifferentHistoryIdForParameterizedTests() PASSED
io.qameta.allure.allure1.Allure1PluginTest > shouldProcessNullParameters() PASSED
io.qameta.allure.allure1.Allure1PluginTest > shouldNotFailIfNoResultsDirectory() PASSED
io.qameta.allure.allure1.Allure1PluginTest > shouldSetFlakyFromLabel() PASSED
io.qameta.allure.allure1.Allure1PluginTest > shouldUseTestClassLabelForPackage() PASSED
io.qameta.allure.allure1.Allure1PluginTest > shouldReadAttachments() PASSED
io.qameta.allure.allure1.Allure1PluginTest > shouldUseTestClassLabelForFullName() PASSED
io.qameta.allure.allure1.Allure1PluginTest > shouldBeAbleToSpecifyHistoryIdViaLabel() PASSED
io.qameta.allure.allure1.Allure1PluginTest > shouldProcessEmptyLists() PASSED
io.qameta.allure.allure1.Allure1PluginTest > shouldGetSuiteTitleIfExists() PASSED
io.qameta.allure.history.HistoryPluginTest > shouldHasFlakyMark() PASSED
io.qameta.allure.history.HistoryPluginTest > shouldHasNewFailedMark() PASSED
io.qameta.allure.history.HistoryTrendPluginTest > shouldReadOldData(Path) PASSED
io.qameta.allure.history.HistoryTrendPluginTest > shouldProcessNullBuildOrder() PASSED
io.qameta.allure.history.HistoryTrendPluginTest > shouldGetData() PASSED
io.qameta.allure.history.HistoryTrendPluginTest > shouldAggregateForEmptyReport(Path) PASSED
io.qameta.allure.history.HistoryTrendPluginTest > shouldProcessCorruptedData(Path) PASSED
io.qameta.allure.history.HistoryTrendPluginTest > shouldReadNewData(Path) PASSED
io.qameta.allure.history.HistoryTrendPluginTest > shouldFindLatestExecutor() PASSED
io.qameta.allure.ReportGeneratorTest > shouldGenerateWidgetCategoriesTrendJson() PASSED
io.qameta.allure.ReportGeneratorTest > shouldGenerateCategoriesJson() PASSED
io.qameta.allure.ReportGeneratorTest > shouldGenerateWidgetEnvironmentJson() PASSED
io.qameta.allure.ReportGeneratorTest > shouldGenerateWidgetStatusJson() PASSED
io.qameta.allure.ReportGeneratorTest > shouldGenerateWidgetDurationJson() PASSED
io.qameta.allure.ReportGeneratorTest > shouldGenerateXunitJson() PASSED
io.qameta.allure.ReportGeneratorTest > shouldGenerateWidgetLaunchJson() PASSED
io.qameta.allure.ReportGeneratorTest > shouldGenerateMail() PASSED
io.qameta.allure.ReportGeneratorTest > shouldGenerateWidgetExecutorsJson() PASSED
io.qameta.allure.ReportGeneratorTest > shouldGenerateTestCases() PASSED
io.qameta.allure.ReportGeneratorTest > shouldGenerateHistory() PASSED
io.qameta.allure.ReportGeneratorTest > shouldGenerateWidgetCategoriesJson() PASSED
io.qameta.allure.ReportGeneratorTest > shouldGenerateIndexHtml() PASSED
io.qameta.allure.ReportGeneratorTest > shouldWriteReportStatic() PASSED
io.qameta.allure.ReportGeneratorTest > shouldGenerateWidgetSeverityJson() PASSED
io.qameta.allure.ReportGeneratorTest > shouldGenerateWidgetHistoryTrendJson() PASSED
io.qameta.allure.ReportGeneratorTest > shouldGenerateWidgetSummaryJson() PASSED
io.qameta.allure.ReportGeneratorTest > shouldGenerateWidgetDurationTrendJson() PASSED
io.qameta.allure.ReportGeneratorTest > shouldGenerateTimelineJson() PASSED
io.qameta.allure.ReportGeneratorTest > shouldGenerateAttachments() PASSED
io.qameta.allure.ReportGeneratorTest > shouldGenerateWidgetSuitesJson() PASSED
io.qameta.allure.ReportGeneratorTest > shouldGenerateWidgetRetryTrendJson() PASSED
io.qameta.allure.EmptyResultsTest > shouldAllowNonExistsResultsDirectory(Path) PASSED
io.qameta.allure.EmptyResultsTest > shouldAllowRegularFileAsResultsDirectory(Path) PASSED
io.qameta.allure.EmptyResultsTest > shouldAllowEmptyResultsDirectory(Path) PASSED
io.qameta.allure.environment.Allure1EnvironmentPluginTest > shouldStackParameterValues() PASSED
io.qameta.allure.environment.Allure1EnvironmentPluginTest > shouldReadEnvironmentXml() PASSED
io.qameta.allure.environment.Allure1EnvironmentPluginTest > shouldReadEnvironmentProperties() PASSED
io.qameta.allure.prometheus.PrometheusMetricLineTest > shouldReturnMetric(String, String)[] PASSED
io.qameta.allure.prometheus.PrometheusMetricLineTest > shouldReturnMetric(String, String)[] PASSED
Deprecated Gradle features were used in this build, making it incompatible with Gradle 6.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/5.5.1/userguide/command_line_interface.html#sec:command_line_warnings
BUILD SUCCESSFUL in 2m 42s
actionable tasks: executed, up-to-date
8.进入
/Users/admin/Downloads/allure2-master/allure-generator/build/libs
将刚刚打包生成的allure-generator-2.10.0-SNAPSHOT.jar重命名allure-generator-2.10.0.jar
9.将重命名好后的jar放在以下目录中并覆盖之前的jar
/usr/local/Cellar/allure/2.10.0/libexec/lib
10.查看执行的报告(此处省略了如何搭建allure生成测试报告内容),可见测试报告

Allure自动化测试报告之修改allure测试报告名称的更多相关文章
- Allure自动化测试报告之修改allure测试报告logo
1.安装allure 2.进入 /usr/local/Cellar/allure/2.10.0/libexec/config 3.在allure.yml添加 - custom-logo-plugin ...
- Allure自动化测试报告我是这样用的
关于自动化测试报告: 之前用过testNG自带的测试报告.优化过reportNG的测试报告.extentreport.Zreport(大飞总原创),这些是我之前都用过的,也是在去年雯姐和我说过Allu ...
- jenkins集群(二)(master --> slave) -- allure自动化测试报告部署
一.前提 1.环境 1)已经部署好了jenkins环境,包括jenkins的“全局工具配置”也配好了. 2.master与slave的简单的概念 1)master:jenkins部署所在的机器 2)s ...
- web端自动化——selenium项目集成HTML测试报告
参考内容: 虫师:<selenium2自动化测试实战——基于python语言> PS:书中的代码,只能做参考,最好还是自己码一码,不一定照搬就全是对的,实践出真知... 随着软件不断迭代功 ...
- robotframework自动化系列:修改流程
在上一小节中,新增流程操作已经完成.那么接下来就是修改的流程操作了,对于一个页面的修改如何操作呢? 针对修改修改操作是在一个已经存在的账号直接修改还是新添加一个账号再修改呢?从用例设计健壮性出发,我们 ...
- Azure PowerShell (2) 修改Azure订阅名称
<Windows Azure Platform 系列文章目录> Update: 2016-01-11 笔者文档主要都是用Azure PowerShell 0.x版本来实现的,比如0.98版 ...
- DataTable 删除列 调整列顺序 修改列标题名称
DataTable dt = new DataTable(); //删除列 dt.Columns.Remove("Sex"); dt.Columns.Remove("Ag ...
- myeclipse如何修改Web项目名称,eclipse如何修改项目名字
myeclipse如何修改Web项目名称 1.复制一个现有的项目,重命名项目名称 2.这里的项目名称重新命名了,但是Web项目本质下的名称还是没有改变的.所以需要更改,更改方法-->选择项目右击 ...
- myeclipse如何修改Web项目名称
1. 使用myeclipse进行Web项目开发时,有时候项目名称重命名了,但是WEB项目在tomcat里边的名称还是原来的名称,是需要重新命名的.下边详细介绍一下如果和修改web项目名称,myecli ...
随机推荐
- Linux mount/unmount 挂载和卸载指令
对于Linux用户来讲,不论有几个分区,分别分给哪一个目录使用,它总归就是一个根目录.一个独立且唯一的文件结构 Linux中每个分区都是用来组成整个文件系统的一部分,她在用一种叫做“挂载”的处理方法, ...
- winfrom 集成krpano 项目 添加折线
C#.NET WinFrom开发之嵌入Google浏览器 (CefSharp) 引入静态页面 CefWebBrowser = new ChromiumWebBrowser("http://& ...
- 如何让类数组也使用数组的方法比如:forEach()
思路: 让类数组绑定数组的方法<div>1</div><div>2</div>方法一: let div = document.getElementsBy ...
- Java 之 转换流
一.字符编码和字符集 二.编码引发的问题 当我们使用 UTF-8 编码保存文件时,用 UTF-8 再次读取不会出现任何问题.但是,当使用其他的编码(如GBK)读取文件时,就会出现乱码现象. Demo: ...
- MIG(ddr3)工程报错解决:IO constraint DQS_BIAS\Multiple Driver Net
现象 在布线自己写的ddr3压力测试代码时,报如下错误. [Constraints 18-586]IO constraint DQS_BIAS with a setting of TRUE for c ...
- nginx 之高级模块
secure_link_module 模块 作用: 制定并允许检查请求的链接的真实性以及保护资源免遭未经授权的访问 限制链接生效周期 配置语法 Syntax:secure_link expressio ...
- Vue注意事项
在使用Vue中的函数或自己定义的函数或指令的时候,Vue说明如下 在一些自己定义或系统定义的驼峰命名规则的时候,你需要到元素区域引用的使用中间的大写要改成小写在谭家 一条横杠如: 你在var=new ...
- Centos7.6进入挂载硬盘后,进入应急模式(emergency mode)而非图形模式解决方法
Centos7.6进入挂载硬盘后,进入应急模式(emergency mode)而非图形模式解决方法 话说某天我想在centos7.6中挂载个硬盘,结果刚在虚拟机中添加了一块硬盘,再次打开系统时,居然就 ...
- Flink原理(一)——基础架构
Flink系列博客,基于Flink1.6,打算分为三部分:原理.源码.实例以及API使用分析,后期等系列博客完成后再弄一个目录. 该系列博客是我自己学习过程中的一些理解,若有不正确.不准确的地方欢迎大 ...
- ubuntu16搭建LAMP环境
准备工作: 安装ubuntu16虚拟机,可以正常访问网络 更新为国内源(下载快一些) 1.安装apache sudo apt-get install apache2 然后打开我们的浏览器,访问一下 1 ...