为什么配置个舒心的 Java 开发环境这么难?

2016-09-14 16:53:43 +08:00
 gowk
Eclipse, Maven, Jetty, Spring, Spring Data JPA
就是想不用 xml 配置,不需要 web.xml ,用 Java 类配置把这些环境搭起来,鼓捣了两天,终于可以了,读写 mysql ,简单页面展示都没问题,可是 JSP 的标准 JSTL 标签用不了。查了一下, Jetty 在 Eclipse 中分嵌入和不嵌入的,嵌入的可以像 Springside 那样,但按照 Springside 的 QuickStart 例子做了, Spring 环境又起不来,因为我的项目不是基于 xml 配置的 Spring 。研究了一天问题在那,又是研究 Maven 的 Jetty 插件,又是研究 Servlet/JSP 和 Jetty 版本的对应关系,又是研究 Spring Java 类配置文件是不是漏了什么东西,各种心累,我就是想专注业务,写各种漂亮的代码,但是被开发环境折腾的一点兴致都没了,心情很糟,想骂人。我想抛弃那些项目组陈旧的 Java 环境,引入 Maven (目前项目组没有是使用 Maven ),引入最新的框架,舒心的写 Java 代码,但是结果让我很失望,各种对象,各种配置已经把我弄的头昏脑涨,快要撕裂。以后也就工作用用 Java ,空闲时间绝不折腾了!把精力集中在 Go 上吧,那才是编程的未来。

各位Javaer能说说你们现在用的Java开发环境吗?都用了哪些框架?
9965 次点击
所在节点    程序员
87 条回复
VictoryMiKi
2016-09-15 14:39:39 +08:00
项目使用 idea+maven+springMVC+jetty 用起来简直不要太爽
plqws
2016-09-15 14:51:47 +08:00
Java 已经很舒心了,相比那些脚本语言和那些长得和脚本语言一样的 Native 语言。
lynx
2016-09-15 15:04:41 +08:00
```python
from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
return "Hello World!"

if __name__ == "__main__":
app.run()
```
DRcoding
2016-09-15 15:41:25 +08:00
看样子应该是新手吧,说的好像 maven 不用配置一样.....
limbo0
2016-09-15 16:27:47 +08:00
还真没看见过用 docker 开发, 都是用 docker 部署

倒是说说怎么开发啊 @necpowman
TakWolf
2016-09-15 16:46:26 +08:00
1. Intellij IDEA
2. Spring Boot
6IbA2bj5ip3tK49j
2016-09-15 18:48:19 +08:00
@lynx
```Java
@RestController
@SpringBootApplication
public class DemoApplication {

public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}

@GetMapping("index")
public String index() {
return "hello word";
}
}

```
gowk
2016-09-15 20:37:16 +08:00
@WhatIf 感谢您的回复,深知我心
gowk
2016-09-15 20:40:42 +08:00
@eightqueen 哈哈哈哈,我就是根据你这个 Repository 修改来的。。。
murmur
2016-09-15 20:44:26 +08:00
@hooluupog xml 有个最大的优点是原语直接校验 你在写配置的时候 IDE 就告诉你不合法 这是 json 做不到的
对于无比复杂的企业开发这能填平不少坑
murmur
2016-09-15 20:48:28 +08:00
@Pastsong
(1)真正排版的时候 xml 反倒比 json 灵活 因为有 IDE 补全 比如我在书写 mybatis 复杂 sql 的时候,转一个尖括号就可以了,各种换行排版都不惧,但是 json 单一个回车就不合法
(2)scheme 校验,企业开发必备, java 一个语言可以扛起各种东西,除了你知道的,还有数据挖掘、倒排索引、工作流、数据总线、服务总线这些乱七八糟你不知道的,这堆东西放一起总归要配置的吧, xml 只要一校验就知道你配置合法不合法, json 或者 yaml 的话,打错个单词?呵呵你自己慢慢找吧
neoblackcap
2016-09-15 21:16:29 +08:00
@incompatible json schema
jinsongzhao
2016-09-15 21:39:05 +08:00
写程序需要爱折腾,组装,调试,极致,洁癖这和性格有关,但是专注业务逻辑也不错。事情总没法完美,慢慢来吧。
skydiver
2016-09-15 22:01:43 +08:00
会了不难,难了不会
incompatible
2016-09-15 22:04:03 +08:00
@neoblackcap json schema 还只是个草案而已。
gowk
2016-09-16 08:19:24 +08:00
@WhatIf 只是很好奇,如果 xml 从来都不改的话,我们为什么要用 Spring
WhatIf
2016-09-16 11:35:28 +08:00
@gowk 对于大多数情况来说 其实需要的配置真心不多。我现在项目的情况 ,留给配置的有:数据库配置, MQ 配置,目录配置。 而其它情况,能用声明就用声明的方式了。
用 spring ,因为方便,因为它对大量工具的抽象。比如说 MQ 的处理, 比直接写 jms 的 api 方便多了。无论是代码简约程度还是从通用性来考量。
以前,连 ioc 都只能用 xml 来配置(虽然可以用 autowired by name/class 的方式,但是也不那么方便),的确很恼人。多数情况都是一对一明确的注入(可以说一个项目 99%的都是),这一点就好像面向接口的方式,好处大家都懂,但是有必要每个都来接口吗?

我现在的选择是先弄清楚什么是属于系统配置(这部分少之又少),要放到配置文件的,其余的能用声明就用声明,当然如果写声明麻烦的情况 我宁可写 xml 。

xml 的好处是集中式的,缺点是繁杂+没有非常好的重构工具(重构包括代码的静态查阅),需要自己寻求一个平衡点
mikulch
2016-09-16 12:28:51 +08:00
Spring Data JPA 太恶心了。真的。太恶心了。
还有人用 Spring data jpa 来操作 redis 什么的数据库。这些人疯了吗!?
eightqueen
2016-09-16 12:42:42 +08:00
@gowk 我这个项目绝对能跑
gowk
2016-09-16 19:37:50 +08:00
@eightqueen 可以跑起来,没问题。 JSTL 核心标签可以用吗

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/306246

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX