- 让一个程序在后台运行
Hi_kenyon
pythonlinux网络
PartI:如何让一个程序在后台运行,在关闭终端的时候,命令或者进行不会被中断在Linux上,如果你希望一个命令在后台持续运行,即使你关闭终端,它不会被终止,有几种常用的方法可以实现这个目的:方法一:使用nohupnohup(nohangup)命令可以让进程忽略挂起(HUP)信号,这样即使关闭终端也不会结束。nohupyour-command>output.log2>&1&your-command
- MySQL表达式之公用表表达式(CTE)的使用示例
@Corgi
后端开发mysql数据库CTE
示例一数据表中有每个企业每年每月并且每月的产值是累加的数据的数据记录需求:统计企业产值能力,找出所有家企业中产值最高的企业,其产值记为P。对于第i家企业,其产值为Pi则该企业的产值能力评分=Pi/P×100。SQL:--使用ROW_NUMBER()为每个企业每年每个月的产值排名,筛选出每个企业每年最大月份的产值。WITHMaxMonthlyOutputAS(SELECTcompany_id,dec
- “自动化失败归因”测试集-Who&When
liliangcsdn
自动化人工智能语言模型
在MAS(Multi-Agent系统)中,Agent之间自主协作、信息链条长,异常常见而且诊断困难。Who&When就是测者MAS系统异常诊断的benchmark。Who&When的prompt问题来源于GAIAandAssistantBench,包含了127个LLMMulti-Agent系统中收集的异常日志,并经过系统和人工处理。Who&When样本配有如下所示的细粒度标注:“谁”(Who):哪
- Android-Layout Inspector使用手册
每次的天空
android学习
LayoutInspectorAndroidLayoutInspector是AndroidStudio中用于调试应用布局的工具启动方法:通过下载LayoutInspector插件,在“View-ToolWindows-LayoutInspector”或“Tools-LayoutInspector”启动。主要界面区域:ComponentTree:显示布局中视图的层次结构,帮助直观查看应用中的元素及其
- vue3 vs asp.net mvc
fyifei0558
开发语言
package.json≈.csprojpackage-lock.json≈packages.lock.jsonvite.config.js≈Startup.cs/Program.cs/configfilesindex.html≈_Layout.cshtmlpublic/≈wwwroot/
- 音频转文字-在线工具包及使用记录
一笑code
音频转文字
资料来源:https://zhuanlan.zhihu.com/p/269603431(多种方案)视频教程:https://www.youtube.com/watch?v=L1H5ov4WTBghttps://github.com/openai/whisper//创建虚拟环境python-mvenvmyvnev//激活虚拟环境sourcemyvnev/bin/activatepipinstall-
- CompletableFuture 使用指南与案例
jarenyVO
java工具类python网络服务器
CompletableFuture使用指南与案例一、创建异步任务supplyAsyncrunAsync二、异步回调thenApplythenAcceptthenRunexceptionallywhenCompletehandle三、联合处理双CompletableFuture联合处理thenCombinethenAcceptBothrunAfterBothapplyToEitheracceptEi
- 多层次的类如何使用Jackson序列化/反序列化(Inheritance with Jackson)
张紫娃
Baeldung学习笔记基础知识windowspython开发语言
HavealookatworkingwithclasshierarchiesinJackson.Jackson如何处理类中类InclusionofSubtypeInformationTherearetwowaystoaddtypeinformationwhenserializinganddeserializingdataobjects,namelyglobaldefaulttypingandper
- 刚入门3DGS的新手小白能够做的工作
一碗姜汤
计算机视觉3d计算机视觉
作为刚入门3DGaussianSplatting(3DGS)的新手,你可以从以下几个方向入手,逐步掌握核心概念并参与实践:1.基础学习与工具熟悉(1)理解核心概念必读资料原论文:3DGaussianSplattingforReal-TimeRadianceFieldRendering(Kerbletal.,SIGGRAPH2023)。通俗解读:博客或视频教程(如YouTube解析)。关键点:高斯球
- Vue3项目引入高德地图【超详细教程】
年纪轻轻就扛不住
VUE前端javascriptvue.jsvue前端框架
前言在Vue3项目中集成高德地图(AMap)是一个常见的需求。本文将详细介绍如何在Vue3项目中使用高德地图,包括安装配置、基本使用以及一些进阶功能的实现。一、环境准备1.1vue3项目初始化步骤1:初始化项目npmcreatevite@latest步骤2:按提示选择配置✔Projectname:…your-project-name#输入项目名称✔Selectaframework:›Vue#选择框
- Python:.py文件转换为双击可执行的Windows程序(版本2)
流程步骤:这个流程图展示了将Python.py文件转换为Windows可执行程序的完整过程,主要包括以下步骤:1、准备Python文件,确保代码可独立运行2、安装打包工具(如PyInstaller)3、打开命令提示符并定位到.py文件所在目录使用打包命令(如pyinstaller--onefile--windowedyour_file.py)等待打包过程完成4、在dist目录中测试生成的可执行文件
- 修改Docker Root Dir
.Eyes
dockerdocker
DockerRootDir修改环境:-dockerversion1.13-OS:centos7.6-虚拟机:已完成文件系统新建dockerinfo查看默认位置#dockerinfo|grepRootWARNING:You'renotusingthedefaultseccompprofileDockerRootDir:/var/lib/docker编辑/etc/docker/daemon.json添
- VSCode 拉取/推送github出现Git:[email protected]:Permission denied(publickey)解决方案
本地测过没问题啊
githubgitvscode
弹窗提示:原因:Github没有添加本地公钥(publickey),要将本地的公钥添加至github内,就可以拉取/推送了。解决方法:1、查看本地是否有SSH密钥:cd~/.ssh,找不到即没有。2、生成SSH密钥:ssh-keygen-trsa-C“youremail”3、进入本地/C:\Users\11937\.ssh文件夹下面将id_rsa.pub文件里面的内容拷贝出来4、将id_rsa.p
- python 异步Web框架sanic
程序员霄霄
软件测试python前端开发语言软件测试自动化测试功能测试程序人生
我们继续学习Python异步编程,这里将介绍异步Web框架sanic,为什么不是tornado?从框架的易用性来说,Flask要远远比tornado简单,可惜flask不支持异步,而sanic就是类似Flask语法的异步框架。github:GitHub-sanic-org/sanic:Accelerateyourwebappdevelopment|Buildfast.Runfast.不过sanic
- .Net Advanced Button Crack
SEO-狼术
Delphinet控件.net
.NetAdvancedButtonCrack.NetAdvancedButton.NetAdvancedButtonisafast,small,lightweightandeasytouse.NETcontrolthatgivesyourapplicationsenhancedandhighqualitygraphicalbuttons.WithSoftgroup.NetAdvancedButt
- Qt QML实现Windows桌面歌词动态播放效果
luoyayun361
QtQMLqtQt歌词播放效果
前言使用Qt5.15.2,QML实现简单的歌词动态播放效果。效果图如下:注:这里只是为了演示播放效果,并未真正加载音频进行播放。可以在此基础上进行扩展。正文关键代码QML部分importQtQuick2.15importQtQuick.Window2.15importQtQuick.Controls2.15importQtQuick.Layouts1.15importLyricsPlayback1
- Android 控件 - gravity 属性与 layout_gravity 属性
我命由我12345
Android-简化编程androidjavajava-ee安卓android-studio开发语言androidstudio
一、gravity属性1、基本介绍gravity属性用于控制View内部的内容的对齐方式作用对象是View内部的内容,例如,文本、子View等常用值说明left水平方向左对齐right水平方向右对齐start水平方向左对齐(RTL)end水平方向右对齐(RTL)top垂直方向顶部对齐bottom垂直方向底部对齐center_horizontal水平方向居中center_vertical垂直方向居中
- Android 10.0 java.lang.IllegalStateException The content of the adapter has
安卓兼职framework应用工程师
android10.0Rom开发疑难问题分析androidjavaListViewadapterrom
1.前言在10.0的系统rom定制化开发中,在某些时候,关于在Listview刷新数据的时候,出现ThecontentoftheadapterhaschangedbutListViewdidnotreceiveanotification.Makesurethecontentofyouradapterisnotmodifiedfromabackgroundthread,butonlyfromtheU
- GitHub代码仓库自动同步到私有GitLab服务器教程
JAY-WJ
githubgitlab服务器
本文面向需要将GitHub开源项目镜像到自建GitLab服务器的开发者,提供全链路同步方案(手动+自动),解决代码库双向维护难题。场景说明原始仓库:https://github.com/your-project.git目标仓库:ssh://git@xxxxxxxxx/your-project.git需求本地保留GitHub原始仓库更新能力自动/手动推送代码到私有GitLab长期保持双端代码一致️环
- 解决Element中el-empty不显示图片,控制台报错的问题
幽啦
vue.jselementui前端
最近,在开发中用到了空状态组件el-empty,调试时发现空状态时的占位并没有显示出来,并在控制台中报错如下:[Vuewarn]:Unknowncustomelement:-didyouregisterthecomponentcorrectly?Forrecursivecomponents,makesuretoprovidethe"name"option.解决办法:项目中已经全局引用了elemen
- 【bug】searchxng搜索报错Searx API returned an error
upp
bugsearxng
在使用开源搜索引擎时候报错:ValueError:('SearxAPIreturnedanerror:','\n\n403Forbidden\nForbidden\nYoudon'thavethepermissiontoaccesstherequestedresource.Itiseitherread-protectedornotreadablebytheserver.\n')只需要将searxn
- 【问题解决 Git报错】 GH001: Large files detected. You may want to try Git Large File Storage. 文件>100MB
~光~~
git学习记录
首先这篇blog来源是报错有一些解决的办法比如这个blog我这边的报错是这样的我这边用的另一种方法#安装filter-repo(推荐)pipinstallgit-filter-repo#移除所有历史中的大文件gitfilter-repo--path"xx.mp4"--invert-paths#如果上面一句没有用执行下面一句gitfilter-repo--force--path"xx.mp4"--i
- 不用vue,只用html,即可简单实现electron项目
豆豆(前端开发+ui设计)
electronjavascript前端
为你提供一个最简单的Electron项目模板,包含完整的代码、配置和打包说明。即使你是小白,也能快速上手。1.项目结构/your-project├──main.js#Electron主进程文件├──preload.js#安全通信脚本(可选)├──index.html#前端页面├──package.json#项目配置└──build/#打包配置目录(后文会生成)2.初始化项目在空文件夹中打开终端,执
- python 升级setuptools_PIP无法升级setuptools
weixin_39792519
python升级setuptools
尝试在CentOS上运行此问题:$sudopipinstallsetuptools--no-use-wheel--upgradeDEPRECATION:Python2.6isnolongersupportedbythePythoncoreteam,pleaseupgradeyourPython.AfutureversionofpipwilldropsupportforPython2.6DEPREC
- LLama-Factory 遇到的问题
目录一、LLama-Factory安装二、LLama-Factory遇到的问题(一)包不兼容问题(二)使用文件路径,加载模型一、LLama-Factory安装参考官网介绍:https://github.com/hiyouga/LLaMA-Factory二、LLama-Factory遇到的问题(一)包不兼容问题按照提示安装对应的版本,只要不相互冲突即可(二)使用文件路径,加载模型1.提示:NameE
- 第七节 移动端适配-视口与REM布局
泽泽爱旅行
csshtml前端css
以下是关于移动端适配中的视口与REM布局的全面解析,结合核心原理、实现方案、应用场景及优化策略,帮助开发者深入理解并高效实现响应式设计。一、视口(Viewport)的核心概念1.视口类型布局视口(LayoutViewport)浏览器默认的视口宽度(通常为980px),用于在移动端显示PC页面,需缩放才能适应屏幕。视觉视口(VisualViewport)用户当前可见的屏幕区域,随缩放或滚动变化。理想
- 全速数据关于足球数据接口API的PHP调用示例
quansushujuAPI1
php开发语言
当调用全速数据提供的足球数据接口API时,可以使用以下示例代码来演示如何通过PHP进行调用。假设你已经获得了访问API所需的认证凭据(如API密钥),你可以按照以下步骤进行操作:步骤1:设置参数$url='https://.../football';//API的URL$api_key='YOUR_API_KEY';//替换为你的API密钥步骤2:发起API请求$ch=curl_init();cur
- 使用composer提示Composer detected issues in your platform Your Composer dependencies require a PHP
TO_WebNow
phpcomposer开发语言
宝塔终端使用composer提示:Composerdetectedissuesinyourplatform:YourComposerdependenciesrequireaPHPversion“>=8.2.0”.Youarerunning7.3.40.in/www/wwwroot/watch/vendor/composer/platform_check.php处理办法:先下载对应的php版本,然后
- webpack < 5 used to include polyfills for node.js core modules by default.
TO_WebNow
Vuejavascriptvue.js
vue-cli5.x版本报错在vue-cli新版本中使用了pdfh5然后报错如下,大致意思是说新版的cli中模块polyfill不会自动引入了Ifyouwanttoincludeapolyfill,youneedto:-addafallback'resolve.fallback:{"https":require.resolve("https-browserify")}'-install'https
- 文档处理控件Aspose.Words教程:在.NET中将多页文档转换为单个图像
CodeCraft Studio
控件文档管理AsposeAspose.Wordsword文档转换Word文档处理
在Aspose.Wordsfor.NET25.6版本中,我们引入了一项新功能,允许您将多页文档导出为单个光栅图像。当您需要将文档作为单个可视文件共享或显示时,此功能非常有用。Aspose.Wordsfor.NET25.6的新功能在25.6版之前,将多页文档保存为图像格式(例如PNG或JPEG)只会为文档的第一页创建一张图片。现在,您可以使用新的MultiPageLayout类将所有文档页面合并为一
- 312个免费高速HTTP代理IP(能隐藏自己真实IP地址)
yangshangchuan
高速免费superwordHTTP代理
124.88.67.20:843
190.36.223.93:8080
117.147.221.38:8123
122.228.92.103:3128
183.247.211.159:8123
124.88.67.35:81
112.18.51.167:8123
218.28.96.39:3128
49.94.160.198:3128
183.20
- pull解析和json编码
百合不是茶
androidpull解析json
n.json文件:
[{name:java,lan:c++,age:17},{name:android,lan:java,age:8}]
pull.xml文件
<?xml version="1.0" encoding="utf-8"?>
<stu>
<name>java
- [能源与矿产]石油与地球生态系统
comsci
能源
按照苏联的科学界的说法,石油并非是远古的生物残骸的演变产物,而是一种可以由某些特殊地质结构和物理条件生产出来的东西,也就是说,石油是可以自增长的....
那么我们做一个猜想: 石油好像是地球的体液,我们地球具有自动产生石油的某种机制,只要我们不过量开采石油,并保护好
- 类与对象浅谈
沐刃青蛟
java基础
类,字面理解,便是同一种事物的总称,比如人类,是对世界上所有人的一个总称。而对象,便是类的具体化,实例化,是一个具体事物,比如张飞这个人,就是人类的一个对象。但要注意的是:张飞这个人是对象,而不是张飞,张飞只是他这个人的名字,是他的属性而已。而一个类中包含了属性和方法这两兄弟,他们分别用来描述对象的行为和性质(感觉应该是
- 新站开始被收录后,我们应该做什么?
IT独行者
PHPseo
新站开始被收录后,我们应该做什么?
百度终于开始收录自己的网站了,作为站长,你是不是觉得那一刻很有成就感呢,同时,你是不是又很茫然,不知道下一步该做什么了?至少我当初就是这样,在这里和大家一份分享一下新站收录后,我们要做哪些工作。
至于如何让百度快速收录自己的网站,可以参考我之前的帖子《新站让百
- oracle 连接碰到的问题
文强chu
oracle
Unable to find a java Virtual Machine--安装64位版Oracle11gR2后无法启动SQLDeveloper的解决方案
作者:草根IT网 来源:未知 人气:813标签:
导读:安装64位版Oracle11gR2后发现启动SQLDeveloper时弹出配置java.exe的路径,找到Oracle自带java.exe后产生的路径“C:\app\用户名\prod
- Swing中按ctrl键同时移动鼠标拖动组件(类中多借口共享同一数据)
小桔子
java继承swing接口监听
都知道java中类只能单继承,但可以实现多个接口,但我发现实现多个接口之后,多个接口却不能共享同一个数据,应用开发中想实现:当用户按着ctrl键时,可以用鼠标点击拖动组件,比如说文本框。
编写一个监听实现KeyListener,NouseListener,MouseMotionListener三个接口,重写方法。定义一个全局变量boolea
- linux常用的命令
aichenglong
linux常用命令
1 startx切换到图形化界面
2 man命令:查看帮助信息
man 需要查看的命令,man命令提供了大量的帮助信息,一般可以分成4个部分
name:对命令的简单说明
synopsis:命令的使用格式说明
description:命令的详细说明信息
options:命令的各项说明
3 date:显示时间
语法:date [OPTION]... [+FORMAT]
- eclipse内存优化
AILIKES
javaeclipsejvmjdk
一 基本说明 在JVM中,总体上分2块内存区,默认空余堆内存小于 40%时,JVM就会增大堆直到-Xmx的最大限制;空余堆内存大于70%时,JVM会减少堆直到-Xms的最小限制。 1)堆内存(Heap memory):堆是运行时数据区域,所有类实例和数组的内存均从此处分配,是Java代码可及的内存,是留给开发人
- 关键字的使用探讨
百合不是茶
关键字
//关键字的使用探讨/*访问关键词private 只能在本类中访问public 只能在本工程中访问protected 只能在包中和子类中访问默认的 只能在包中访问*//*final 类 方法 变量 final 类 不能被继承 final 方法 不能被子类覆盖,但可以继承 final 变量 只能有一次赋值,赋值后不能改变 final 不能用来修饰构造方法*///this()
- JS中定义对象的几种方式
bijian1013
js
1. 基于已有对象扩充其对象和方法(只适合于临时的生成一个对象):
<html>
<head>
<title>基于已有对象扩充其对象和方法(只适合于临时的生成一个对象)</title>
</head>
<script>
var obj = new Object();
- 表驱动法实例
bijian1013
java表驱动法TDD
获得月的天数是典型的直接访问驱动表方式的实例,下面我们来展示一下:
MonthDaysTest.java
package com.study.test;
import org.junit.Assert;
import org.junit.Test;
import com.study.MonthDays;
public class MonthDaysTest {
@T
- LInux启停重启常用服务器的脚本
bit1129
linux
启动,停止和重启常用服务器的Bash脚本,对于每个服务器,需要根据实际的安装路径做相应的修改
#! /bin/bash
Servers=(Apache2, Nginx, Resin, Tomcat, Couchbase, SVN, ActiveMQ, Mongo);
Ops=(Start, Stop, Restart);
currentDir=$(pwd);
echo
- 【HBase六】REST操作HBase
bit1129
hbase
HBase提供了REST风格的服务方便查看HBase集群的信息,以及执行增删改查操作
1. 启动和停止HBase REST 服务 1.1 启动REST服务
前台启动(默认端口号8080)
[hadoop@hadoop bin]$ ./hbase rest start
后台启动
hbase-daemon.sh start rest
启动时指定
- 大话zabbix 3.0设计假设
ronin47
What’s new in Zabbix 2.0?
去年开始使用Zabbix的时候,是1.8.X的版本,今年Zabbix已经跨入了2.0的时代。看了2.0的release notes,和performance相关的有下面几个:
:: Performance improvements::Trigger related da
- http错误码大全
byalias
http协议javaweb
响应码由三位十进制数字组成,它们出现在由HTTP服务器发送的响应的第一行。
响应码分五种类型,由它们的第一位数字表示:
1)1xx:信息,请求收到,继续处理
2)2xx:成功,行为被成功地接受、理解和采纳
3)3xx:重定向,为了完成请求,必须进一步执行的动作
4)4xx:客户端错误,请求包含语法错误或者请求无法实现
5)5xx:服务器错误,服务器不能实现一种明显无效的请求
- J2EE设计模式-Intercepting Filter
bylijinnan
java设计模式数据结构
Intercepting Filter类似于职责链模式
有两种实现
其中一种是Filter之间没有联系,全部Filter都存放在FilterChain中,由FilterChain来有序或无序地把把所有Filter调用一遍。没有用到链表这种数据结构。示例如下:
package com.ljn.filter.custom;
import java.util.ArrayList;
- 修改jboss端口
chicony
jboss
修改jboss端口
%JBOSS_HOME%\server\{服务实例名}\conf\bindingservice.beans\META-INF\bindings-jboss-beans.xml
中找到
<!-- The ports-default bindings are obtained by taking the base bindin
- c++ 用类模版实现数组类
CrazyMizzz
C++
最近c++学到数组类,写了代码将他实现,基本具有vector类的功能
#include<iostream>
#include<string>
#include<cassert>
using namespace std;
template<class T>
class Array
{
public:
//构造函数
- hadoop dfs.datanode.du.reserved 预留空间配置方法
daizj
hadoop预留空间
对于datanode配置预留空间的方法 为:在hdfs-site.xml添加如下配置
<property>
<name>dfs.datanode.du.reserved</name>
<value>10737418240</value>
 
- mysql远程访问的设置
dcj3sjt126com
mysql防火墙
第一步: 激活网络设置 你需要编辑mysql配置文件my.cnf. 通常状况,my.cnf放置于在以下目录: /etc/mysql/my.cnf (Debian linux) /etc/my.cnf (Red Hat Linux/Fedora Linux) /var/db/mysql/my.cnf (FreeBSD) 然后用vi编辑my.cnf,修改内容从以下行: [mysqld] 你所需要: 1
- ios 使用特定的popToViewController返回到相应的Controller
dcj3sjt126com
controller
1、取navigationCtroller中的Controllers
NSArray * ctrlArray = self.navigationController.viewControllers;
2、取出后,执行,
[self.navigationController popToViewController:[ctrlArray objectAtIndex:0] animated:YES
- Linux正则表达式和通配符的区别
eksliang
正则表达式通配符和正则表达式的区别通配符
转载请出自出处:http://eksliang.iteye.com/blog/1976579
首先得明白二者是截然不同的
通配符只能用在shell命令中,用来处理字符串的的匹配。
判断一个命令是否为bash shell(linux 默认的shell)的内置命令
type -t commad
返回结果含义
file 表示为外部命令
alias 表示该
- Ubuntu Mysql Install and CONF
gengzg
Install
http://www.navicat.com.cn/download/navicat-for-mysql
Step1: 下载Navicat ,网址:http://www.navicat.com/en/download/download.html
Step2:进入下载目录,解压压缩包:tar -zxvf navicat11_mysql_en.tar.gz
- 批处理,删除文件bat
huqiji
windowsdos
@echo off
::演示:删除指定路径下指定天数之前(以文件名中包含的日期字符串为准)的文件。
::如果演示结果无误,把del前面的echo去掉,即可实现真正删除。
::本例假设文件名中包含的日期字符串(比如:bak-2009-12-25.log)
rem 指定待删除文件的存放路径
set SrcDir=C:/Test/BatHome
rem 指定天数
set DaysAgo=1
- 跨浏览器兼容的HTML5视频音频播放器
天梯梦
html5
HTML5的video和audio标签是用来在网页中加入视频和音频的标签,在支持html5的浏览器中不需要预先加载Adobe Flash浏览器插件就能轻松快速的播放视频和音频文件。而html5media.js可以在不支持html5的浏览器上使video和audio标签生效。 How to enable <video> and <audio> tags in
- Bundle自定义数据传递
hm4123660
androidSerializable自定义数据传递BundleParcelable
我们都知道Bundle可能过put****()方法添加各种基本类型的数据,Intent也可以通过putExtras(Bundle)将数据添加进去,然后通过startActivity()跳到下一下Activity的时候就把数据也传到下一个Activity了。如传递一个字符串到下一个Activity
把数据放到Intent
- C#:异步编程和线程的使用(.NET 4.5 )
powertoolsteam
.net线程C#异步编程
异步编程和线程处理是并发或并行编程非常重要的功能特征。为了实现异步编程,可使用线程也可以不用。将异步与线程同时讲,将有助于我们更好的理解它们的特征。
本文中涉及关键知识点
1. 异步编程
2. 线程的使用
3. 基于任务的异步模式
4. 并行编程
5. 总结
异步编程
什么是异步操作?异步操作是指某些操作能够独立运行,不依赖主流程或主其他处理流程。通常情况下,C#程序
- spark 查看 job history 日志
Stark_Summer
日志sparkhistoryjob
SPARK_HOME/conf 下:
spark-defaults.conf 增加如下内容
spark.eventLog.enabled true spark.eventLog.dir hdfs://master:8020/var/log/spark spark.eventLog.compress true
spark-env.sh 增加如下内容
export SP
- SSH框架搭建
wangxiukai2015eye
springHibernatestruts
MyEclipse搭建SSH框架 Struts Spring Hibernate
1、new一个web project。
2、右键项目,为项目添加Struts支持。
选择Struts2 Core Libraries -<MyEclipes-Library>
点击Finish。src目录下多了struts