首页> 技术分享

技术分享 存档

Android应用项目目录结构一览

2012年02月05日 分类目录 :android技术 1

       在上一篇日志(Android应用开发环境搭建指引)中,我们搭建了一个Android应用开发环境,其中我们选用了官方提供支持的Eclipse平台作为集成开发环境。今天,我们将以经典的Hello World项目来熟悉Eclipse中创建的Android项目的目录结构及其作用。

一 创建Hello World项目

       Andorid项目创建三种方式:

  1. 菜单栏File->New->Android Project
  2. 工具栏Open a Wizard to help create a new android project图标
  3. 左侧Package Explorer窗体中右键弹出窗口New->Android Project

      无论通过上述3种方式中的哪种都会进入同一个Android 项目创建引导过程,因此,这一步就看个人习惯了。

当我们进入到Android Protect创建过程中后,我们将首先见到这个节目,一般来说,我们需要做的仅仅是在ProjectName处输入项目名字,然后按Next进入下一步。

这一步的任务是选择一个构建目标,其中Android平台为必选项,如果你的Android SDK中有多个SDK版本,选择其中一个就可以了。

继续下一步,这步我们需要指定一个PackageName,根据Java的命名习惯,包名为域名的倒写+项目名,如我的网站域名为wangqige.com,则包名为com.wangqige.helloworld。此外,如果需要创建一个测试项目来做Android项目测试的话,则需要勾上Create a Test Project。最后点Finish就可以了。

二    Android项目目录结构说明

Android Project目录主要由src、gen、res、AndroidManifest.xml几部分组成。除此之外还有一些文件及目录是我们暂时不需要接触或不会接触到的。接下来依次来看看各目录、文件的主要功效:

1)src目录,顾名思义,该目录是我们主要接触的,我们的应用源代码均被置于该目录下。

2)gen,此为Android自动生成文件夹,里面含有一个非常重要的.java文件——R.java,它是我们的代码和资源文件互相产生联系的重要依据。因此不可改动、不可删除该文件。

3)res目录,这是存放资源文件的地方。里面主要包括drawable、layout、values三个目录。

    1.drawable目录放置图片资源,在Android2.1以上该目录将细分为drawable-hdpi、drawable-ldpi、drawable-mdpi,这三个目录分别放置不同分辨率的图片资源。对于刚刚接触Android开发的我们,目前还不需要根据不同分辨率配置图片,因此只需要一个drawable就够了。

    2.layout目录放置Android应用布局XML文件,其中有一个main.xml,显然这是最主要的布局文件了。当然,在实际开发中,没有main.xml也不要紧,只需要程序能够正确加载到需要的布局文件就可以了。

    3.values目录主要放置文本资源文件,通常用于文本内容的国际化,以及避免出现硬编码(即在代码中直接编写文本内容)。

4)在这些文件夹之外,我们还需要注意AndroidManifest.xml,这是Android项目的核心。如果我们的应用需要获得特殊权限(例如发信息)则必须在该文件中进行声明以获得权限,此外,当我们的应用有多个Activity的时候,我们也需要将所有Activity在该文件中进行声明。

    事实上,以上这些只是默认生成的内容,根据我们的不同需要,我们还可以创建额外的目录来放置相关资源。而像AndroidManifest.xml以及这里我并未提及到的proguard.cfg、project.properties也都还有许多功能,这需要我们根据需求去进一步挖掘。

, , , , , ,

Android应用开发环境搭建指引

2012年02月04日 分类目录 :android技术 0

       由于工作的缘故,现在开始全面进入Android应用开发领域了。之所以在标题上加上“应用”两字,是因为本文基于Windows平台撰写,而Windows 平台无法进行Android编译,因此只能进行应用开发。如果还需要接触Android 源代码的话建议在Linux环境上搭建开发平台。

一    基础资源下载安装:

  1. 安装JDK6以上版本,推荐安装JDK6.0.27,这个版本比较稳定。下载地址为:http://www.oracle.com/technetwork/java/javase/downloads/index.html

            安装的时候建议直接安装在根目录下,不要安装在默认的Program Files目录下。之所以这样是因为Android是基于Linux的,Linux路径不支持空格字符,所以可能会产生问题

  2. 下载Eclipse, 推荐下载Eclipse for java developers版,下载地址:  http://www.eclipse.org/downloads/ (64位系统用户请下载对应版本)
  3. 下载Android SDK,推荐下载安装版,下载地址:http://developer.android.com/sdk/index.html
  4.         同样建议安装在根目录下,不要安装在Program Files目录下。

二    系统环境变量配置:

  1. JDK的配置请参阅《配置Java编译环境
  2. 在PATH中配置Android SDK工具,添加以下两个目录:X:\android-sdk\platform-tools;X:\android-sdk\tools。注:“X:\”部分请根据实际情况修改

        配置完之后打开CMD,输入java -Version 和android -h两个命令,检查是否配置成功。

三    Android SDK下载:

        之前我们已经安装了Android SDK,但是事实上里面是空的,我们并没有下载SDK,现在我们在准备工作完成的基础上可以下载SDK了。打开SDK Manager.exe,当Fetching完了之后我们可以看到列表中有一系列的资源可供下载:

       其中Tools文件夹中的2个必须安装,下面的N多不同版本的Android SDK则选其一即可,目前最新的是Android 4.0.3,但是对于我们来说,这个并不需要跟进,选择装机量较大的2.2或2.3即可。等将来4.0成为主流后再跟进也不迟。

四    ADT For Eclipse下载安装

       启动Eclipse(Win7用户请使用管理员身份),进入插件安装对话框(Menu栏Help->Install New Software)

        在地址栏输入 https://dl-ssl.google.com/android/eclipse/,并按回车键,稍等一会就会加载出可安装插件列表,全部安装上吧。

这里还有一点需要注意的,由于安装ADT的时候还需要一些依赖插件,因此必须确保Available Software site列表中http://download.eclipse.org/releases/indigo(旧版本eclipse用户请把indigo修改为相应版本)处于选中状态,如果列表中没有则自行ADD一个。

安装完成后重启Eclipse,启动后应该会弹出一个android sdk的配置窗口,把其中sdk路径改为之前安装的路径即可。

五    Android模拟器配置

        为了方便开发者进行调试,Android SDK还提供了一个模拟器工具,我们编译好的Android应用可以直接在这个模拟器中进行测试,而不需要放到真机上。打开AVD Manager工具,点New按键,进行简单的配置之后就可以创建出一个模拟环境了。

 

后记

        至此,Windows下Android应用开发环境就搭建好了,快去创建一个Hello World项目体验一下吧。

, , ,

一个容易犯错的运算优先级问题

2012年01月12日 分类目录 :程序语言 0

      由于工作需要,在接受过系统Java培训的情况下,现在又开始学习起了C语言。虽说语言有着其共通的地方,但也会有着各式各样的差异,因此,在学习的过程中转变前一种语言的固有思维以适应新语言的规范就成了重中之重,而这也是最难的部分。

      今天在新人C语言研讨会(由于主讲非专业讲师,因此称之为授课有点对不住“教师”这个称号)上讨论到运算结合律的时候,有一个案例是自真、自减的优先级演示。这是一个很坑爹的表达式,但是我们都能较为轻松地得出结果:

#include <iostream.h>
int main(){
     int i = 3;
     cout<<(i++)+(i++)+(i++)<<endl;
}

之后,一位同学&同事提出了更为自虐的式子,即将i++改为++i,顿时全都傻眼。当在VS中编译运行后得到的结果和我们认为的答案完全不一样,即使是作为主讲的一资深编码师也没能弄清如何得出这样一个答案的。

int main(){
     int i = 3;
     cout<<(++i)+(++i)+(++i)<<endl;
}

先说一下这个式子的答案,它将输出的结果是16(不知道你能算出这个答案吗?)

好了,现在开始解构这个坑人的式子:

      由于编译器在解析运算式(从整体来看,忽略内含运算符的优先级别)的时候一般是按照“自左向右”的顺序来的,所以在这个式子中,我们先计算第一个++i,由于++在前表示的是先自增,后使用,所以这里i就自增为4。

      然后我们来看(++i)+(++i)部分,在运算优先级这个问题上,虽然我们无法完全记住所有的运算符优先情况,但是自增优先级高于加法是肯定能记住的,所以此时先跳过加法,计算第二个++i,又由于第一个++i已经将i自增为了4,所以再经过一次自增会使得i变成5。且由于同一块内存区域无法同时用来存储2个常量,所以后来的常量会覆盖前面的常量,于是这部分式子在算术上就变成了5+5=10。

     然后再继续看这个式子,经过前面的运算,我们已经可以把整个式子演变成 10 +(++i)了,此时,同样利用自增优先级高于加法的规则先进行++i的计算,由于前面的自增行为将i自增到了5,所以此次自增之后就得到i=6了。

     最后10 + 6 就是16了。

      经过这番解构,我们会发现似乎它是很基本的运算优先级的问题,每一个学过程序语言(无论是哪种具体的语言),都应该对它很熟悉,甚至很熟练。但是,事实上并非如此,当我们真的面对这样的式子的时候,我们根本无法熟练的使用优先级来做出正确的答案。最近在CSDN上看到很多帖子,都是新人想了解如何速成的方法,包括我也是,在仅知道些皮毛(虽说接受Java培训已有1年了)的情况下,就很想入手写代码,做程序了。但是,事实上,对于做程序来说,我们完全只是三角猫功夫,很容易就能被打回原型。咱有“冰冻三尺非一日之寒”之说,西方有“罗马不是一天建成的”的说法;咱又有“千里之行,始于足下”之说,所以说,当我们连基础都没打扎实的情况下,就想超前上项目,那就是白日做梦。——以上一段为自我批评,给自己的警示之言,也愿各位共勉。

解决在Linux环境下解压zip的乱码问题

2011年12月30日 分类目录 :linux&软件技术 1

        今天折腾了下把windows下的文件全部转移到了Fedora中,之后在解压那些在Windows下压缩为zip格式的压缩包时出现了久违了的乱码问题。于是乎,为了解决这个麻烦事,Google了一堆解决办法一一试过去,却依然没法解决。最后,终于在翻了N页之后找到了一段代码,抱着尝试的心理试用了一下,没想到竟然解决了这一大难题。好东西不忍独享,故而在此贴出让更多人使用。

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import os
import sys
import zipfile

print "Processing File " + sys.argv[1]

file=zipfile.ZipFile(sys.argv[1],"r");
for name in file.namelist():
    utf8name=name.decode('gbk')
    print "Extracting " + utf8name
    pathname = os.path.dirname(utf8name)
    if not os.path.exists(pathname) and pathname!= "":
        os.makedirs(pathname)
    data = file.read(name)
    if not os.path.exists(utf8name):
        fo = open(utf8name, "w")
        fo.write(data)
        fo.close
file.close()

从代码来看并没有多少技术含量,但是却很实用。

将这段代码保存为 unzip.py之后,将其和需要解压的文件放置在同一个文件夹中,之后在终端中使用下面的代码就可以了:

python unzip.py *.zip

, , , ,

Eclipse项目快速加载多个第三方架包

2011年11月21日 分类目录 :程序语言 1

       之前的日志《让eclipse创建Java下面股时自动加载第三方架包》提到了通过将架包复制到如java\lib、tomcat\lib目录下来实现创建项目时自动加载第三方架包,但是由于这种方法会使得创建的每一个新项目都会加载所有复制到相关目录下的架包,因此只适用于如jdbc、log4j之类使用率较大的架包。而对于其他一些架包,如若希望能够快速添加,则建议通过eclipse的配置实现。

       也许我们会有这样的经历:手头上的几个项目需要用到多个架包,而这些架包又放在不同的文件夹中,当我们为这些项目添加架包时,需要多次进入这些文件夹将架包添加进项目中,而这些工作都是重复的,会消耗不少时间的。因此,如若我们实现创建好一个架包库,那么每次都只需要添加这个库就能够将分属于不同文件夹的架包一次性加入进来了。以优秀的ORM框架Hibrenate为例,当我们从官网上下载好压缩包并解压后,我们可以看到在根目录下有一个hibrenate3.jar,此外还有一个lib文件夹,该文件夹内又有4个子文件夹,内有各类必须使用的和可选用的架包,当创建Hibrenate项目时,就需要将不同文件夹中的架包逐个添加进来。

       幸好,eclipse的配置中有用户库(user library),可以让我们创建不同的架包集合,以提升加包效率。

user library配置过程

1.点击菜单栏Window->Preferences进入配置界面。

2.依次展开java->build path->user library,在右侧配置界面中点New…

3.在弹出的交互窗口中填入自定义的库名,此处以hibernate3为例,然后点确定。(复选框建议不要选中)

4.现在我们就可以看到列表中出现了刚刚添加的库,选中该库,然后点Add JARs…

5.在弹出的文件选择框中将各相关架包加进来。

PS:需要将多个文件夹中的架包添加进来则重复4、5两步。

user library的使用

        当我们创建好库之后,就可以方便的在项目中添加架包了。这里我们创建了一个名为Test的Java项目以作示例:

1.在package explorer界面中右键该项目,在弹出菜单中展开build path菜单项,点击Add library开始添加架包库。

2.此时会弹出一个对话框,可以选择不同类型的架包库,由于我们之前创建的是user library,因此这里选择user library

3.现在会弹出一个对话框里面有所有我们创建的user library,选中需要使用的架包集合,然后点Finish。

4.这样一来,相关的架包就都被加入到该项目的构建路径中去了。

总结

        这个方法可以极大简化我们的工作,但是也有一点缺陷,由于通过这个方法添加的架包是直接进入构建路径,因此当我们把项目导出的时候,相关架包并不会一起导出来,也就是说,当我们在其他电脑上打开该项目的时候,我们必须重新配置一下user library。

, ,

让eclipse创建java项目时自动加载第三方架包

2011年11月05日 分类目录 :程序语言 1

      在开发java项目时,总有那么一些第三方类是需要经常使用的,如dom4j.jar、log4j.jar、数据库连接类等。通常,我们需要在eclipse里新建好项目之后,再手动将这些需要用到的包加入到项目中。对于开发产品的人来说,因为不需要频繁新建项目,即使是手动加入也就一次性的事情;但是对于学习者来说,由于要频繁创建新的练习项目,这么一来,就需要多次加包了,有时更会忘记把包加入到构建路径中。那么,是否能够有一个机制,让我们新建项目时,可以自动加入这些包呢? 

      在新建项目时,我们会在项目资源列表中看到一堆jar包,这些都是javaSE自带的包,如果看过jdk文件夹的话就会发现这些包都放在%java_home%/lib中;而当我们创建java web项目时,又会有一些javaEE的jar包,而它们则通常位于使用的web容器的lib目录下(如果tomcat/lib)。既然这样,也就是说,如果我们把常用的包放入这些目录,那么当我们新建项目时,也就会一并加入这些包了。比如说,我们可以把数据库连接的jar包放入tomcat/lib中,那么在新建web项目时就会加入,而java项目不会。 

       对于使用windows作为开发环境的开发者来说,只要直接将jar包放入相应的文件夹就可以了,没有任何技术含量。而用linux作为开发环境的开发者就相对麻烦了点,但是,作为一个开发者来说,如果这些小事都不愿意去做,那么又如何能够成功呢? 

      当我们观察jdk或tomcat的文件夹时,我们会发现lib目录下的那些jar包其实只是一个链接,Linux有着一套非常规范的文件归类体系。因此,通过软件源获取到的所有jar包都会统一放置在/usr/share/java/中,然后在需要用到它的地方安置链接。清楚了这点,我们就可以来进行操作了。 

      照例打开终端(Linux中很多操作都得用它来完成,还是趁早习惯地好),输入相关命令:

sudo cp your-jar-file-path /usr/share/java/


sudo ln -s /usr/share/java/your-jar-file /usr/tomcat*/lib/your-jar-file


      至此,基本的设置就完成了,接下来创建的新项目中不出意外就会自动加入我们设置了的第三方jar包了。 
      在不清楚其中的执行流程的情况下,我们可能无从下手,但是一旦找到了突破口,那就将势如破竹,一帆风顺。


>

, , ,

Linux禁止apache、mysql、tomcat自动启动

2011年11月04日 分类目录 :linux&软件技术 0

最近完成了web开发环境在Linux中的搭建,由于图省心,就直接在源中安装一系列的软件,包括apache、mysql、tomcat等。不过,之后就发现了一个小问题,由于我是通过源安装的,所以这几个软件的默认设置都是开机自动启动,而我并非一直需要用到它们。虽然对于现在的电脑性能来说,让它们一直运行在那里并不拖累性能,但是这总让人不舒服,因此就将它们禁止掉,当需要时才启用了。

其实,方法很简单,在终端中输入以下命令即可:

sudo update-rc.d -f apache2 remove

sudo update-rc.d -f tomcat* remove //*替换为你安装的tomcat版本 

而mysql就相对烦了那么点:

sudo service mysql stop

sudo gedit /etc/mysql/mysql.conf 

start on (net-device-up
and local-filesystems
and runlevel [2345])
改为 start on runlevel [!0123456]

, , ,

Linux下解决MySQL中文乱码问题

2011年11月03日 分类目录 :linux&软件技术 0

对于数据库应用来说,编码是一个非常讨厌的障碍。最近使用eclipse做一个电子商务网站的作业,当我创建了sql文件并执行之后,总会暴出一些稀奇古怪的错误,导致sql执行中断,而当我把同样的代码直接在MySQL终端中执行时,却又能顺利执行(当然,偶尔也会有怪问题出现)。痛苦了许久,总算是找到了问题之所在。这一切都是编码惹的祸!

当我从源中安装好MySQL之后,遗忘了编码的设置,因此当往数据库插入带中文字符的数据之后,就会因编码问题出现乱码、问号、或者就像是我遇到奇怪错误的现象。当我想起这茬事之后,就赶忙弥补这个低级错误,最终验证也解决了乱码的问题。

由于之前曾在Win7中安装过一次MySQL,当时曾修改过一次相关配置,因此想着Linux下应该也差不多,就跑去MySQL安装的目录找配置文件了。MySQL在Windows中的配置文件为“my.ini”,而在Linux中则是my.cnf。

遵照Linux的文件结构习惯,my.cnf位于/etc/mysql/目录下,在终端中使用”sudo gedit /etc/mysql/my.cnf”命令打开该文件,然后在[client]和[mysqld]下添加“default-character-set=utf8”。添加完之后关闭编辑器,重启MySQL,这就搞定了。现在可以试着创建一个表,并插入一些中文内容了。

更新:刚忘了说了,修改前创建的表中的中文依然会是乱码,不会自动更正。需要在mysql中执行以下sql语句来手动更正:

ALTER   TABLE   tbl_name   CONVERT   TO   CHARACTER   SET utf8

, ,

如何使用你的GRAVATAR头像作为博客的图标

2011年10月24日 分类目录 :Wordpress技术 2

无论你拥有的是什么类型的网站,你都需要一个favicon图标,它可以在浏览器的地址栏和标签中识别你的网站,同样也作为图标服务于收藏你的网站的人。你一定不希望让它是一个默认图标,因为你会失去一个塑造网站品牌的机会。

要想省时省力地为你的网站创作一个图标?为什么不使用你的Gravatar头像来替代?看这个:

使用Gravatar作为favicon图标远比你想象的要来得简单,只需两步就能实现。

步骤1:在function.php中添加函数代码

     function GravatarAsFavicon() {
//我们需要根据你的email地址创建hash代码
        $GetTheHash = md5(strtolower(trim('you@yourdomain.com')));
        echo 'http://www.gravatar.com/avatar/' . $GetTheHash . '?s=16';
}
确认你用自己的email地址替换了代码中的代码,它必须和你的gravatar账户相联系。 

添加链接到header.php文件

<link rel=”shortcut icon”  href=”<?php GravatarAsFavicon(); ?>” />

保存并刷新你的网站来看你的新Gravatar favicon图标(建议清除缓存后再查看)。

使用Gravatar在你希望有一个favicon图标,但没有制作logo时非常有用。它也比你自己制作ico文件(favicon的标准图片格式)并上传到网站的正确目录来得更简单。

英文原文:http://wpmu.org/how-to-use-your-gravatar-as-the-favicon-for-your-wordpress-site

Ubuntu中安装配置tomcat

2011年10月19日 分类目录 :linux&软件技术| 程序语言 0

正如上一篇日志所说,我又开始使用Ubuntu了,照例仍需将Java编程环境搭建出来,而tomcat则是不可或缺的一环。因此,这篇日志就来说说tomcat的安装配置。

在Ubuntu中,tomcat有两套安装方案:其一是从tomcat官方网站下载压缩包,解压后直接配置使用;其二是从软件源中安装使用。两套方案的效果基本相同,唯一不同的是,第一套方案得到的tomcat包含在同一个文件目录下,而第二套方案得到的tomcat则将文件分别放置在了两个不同的目录中(这是由于Linux的文件结构习惯所致)。至于使用哪一套方案就看个人喜好了,不过对于使用Eclipse作为开发环境的(Linux新手)开发者来说,第一套方案由于在配置过程中与Windows中基本无异,因此相对更简单、适合。由于我比较喜欢折腾同时对Linux的文件结构思想比较认同,因此选择了第二套方案。

安装tomcat

打开终端,输入命令:sudo apt-get install tomcat6(6较稳定,如果喜欢尝鲜,也可以安装tomcat7,我就是安装的7)

然后在询问是否下载安装时根据提示敲击“Y”即可,稍等一会就能够完成安装了。

 

如果嫌用终端麻烦,则从官网下载压缩包解压即可。

配置tomcat

在配置前需要注意,是否已经配置好java编译环境,如果不确定是否已经配置好,可以在终端输入java -version来查看,如果提示类似找不到命令java之类的提示的话,则说明系统中并无安装任何jdk,这时可以选择安装openJDK或oracle官方JDK,他们的效果其实基本一样,同样全看个人喜好。关于Java的配置,这里就不再累赘,可以参看旧文《配置Java编译环境》。在我的实际操作中发现,似乎从源中安装的openJDK无需配置系统环境即可使用?不过为了确保安全,仍然配置了一下,反正不会出错。

言归正传,tomcat主要有3个需要配置的地方:它们分别是server.xml、tomcat-users.xml、以及系统环境。

server.xml位于/var/lib/tomcat7/conf目录下,这个文件主要是修改tomcat服务器配置的,我们需要修改的是catalina的端口号,由于默认使用的是8080,而它是大路货,很有可能与其他应用冲突,因此需要修改为一个罕见的端口以避免可能出现的冲突,我这里照习惯修改为了8088。

tomcat-users.xml同样位于该目录下,这个文件主要是创建tomcat的用户配置。在<tomcat-users>和</tomcat-users>之间输入两句语句:<role rolename=”admin”/>、<user username=”用户名” password=”密码” roles=”admin,manager”/>。其中第二句语句在tomcat7环境下需要改为:<user username=”admin” password=”CWQ@wangqige” roles=”manager-gui,admin,manager-script” />。

然后则是系统环境的配置,在终端中使用命令sudo gedit /etc/environment,在其中写入以下配置项:

 

CATALINA_HOME=”/usr/share/tomcat6″

CATALINA_BASE=”/var/lib/tomcat6″

 

 

至此,基本的配置就完成了,此时可以尝试在终端中使用命令:sudo /etc/init.d/tomcat6 start启动tomcat看看(使用第一套方案的则先cd /path/tomcat/bin进入该目录,其中path是放置tomcat的目录,tomcat则是解压后获得的tomcat目录名,然后使用命令./startup.sh来启动服务)。当看到如下文字则说明tomcat已经启动成功,Starting Tomcat servlet engine tomcat7                                [ OK ] 。然后可以在浏览器中输入地址http://localhost:8088(端口号请根据自己的配置修改),如果看到该页面则说明已经大功告成:

注:此图为tomcat7环境下所截,tomcat6下的效果是否一致不得而知了。

 

然后可以进一步访问http://localhost:8088/manager/html来登陆访问tomcat控制面板。

配置eclipse的tomcat服务器

在开始配置eclipse的tomcat服务器之前,需要注意的是,通过源安装的用户即使配置好也无法在eclipse中启用tomcat,正如前面所说,源中安装的tomcat会被分别放置在两个文件夹中,因此无论是在eclipse中设置的哪个路径,都是错误的。因此,在配置前,我们还需要多做一个步骤,在终端中依次输入以下命令,将两个文件夹建立起联系:

sudo ln -s /var/lib/tomcat6/conf /usr/share/tomcat6/conf 

sudo ln -s /etc/tomcat6/policy.d/03catalina.policy /usr/share/tomcat6/conf/catalina.policy

sudo ln -s /var/log/tomcat6 /usr/share/tomcat6/log

sudo chmod -R 777 /usr/share/tomcat6/conf

这样就能解决问题了,此方案参考自http://wiki.ubuntu.org.cn/Tomcat。

之后就是eclipse里的配置了,window-preferences-server-runtime environment然后照图来就行了:

点击add开始添加服务器

至此,tomcat就算是全部设置完成了,现在就可以在eclipse里写代码然后在tomcat中运行调试了。

无觅相关文章插件,快速提升流量

, , ,