2011-06-13 29 views
5

我想創建一個基於Web的Java教程樣的項目涉及了jQuery,CSS,JSP,彈簧等, 所以其實我是想練產生一個很好的產品,這些技術。本教程的內容可以由任何用戶編輯,並由客戶根據章節等進行評分, 我很少有這樣的想法。開源的基於Web的Java編譯器

一個主要的想法是有一個基於Web的編譯器和執行器。類似於w3schools。我知道在瀏覽器上使用服務器端技術的編譯器很困難。

我的問題是:

  1. 是否有可用的 可用於任何這樣的開源Java編譯器 /執行服務?

  2. 是有興趣對這種 項目工作(萬一有任何心不是)?

編輯: 我打算在java和Beanshell中使用Compiler。有更好的解決方案

+0

... – 2011-06-13 08:20:29

+0

其基於Web的編譯器還可以幫助iPad和Chrome操作系統,反正它將在那裏對嗎? – Skeptor 2011-06-13 17:26:46

+0

@Stephen C,我曾經看到過這樣一個網站。它運行提交的代碼來驗證它 - 其中一個步驟是推斷它是否是O(n)(我的更簡單,O(n^2))。 – 2011-06-14 12:25:13

回答

0

您將需要一個接受的源代碼,編譯並運行它的服務器上的腳本,但我敢肯定,你不想來運行任意代碼。

如果您仍然想這樣做,看看谷歌的AppEngine,它們允許用戶上傳他們(編譯)Java程序似乎並不曾與它的任何問題。

+0

我打算在googleapp引擎上託管這個服務,希望它不會讓人無法忍受的昂貴。 – Skeptor 2011-06-13 17:34:04

+0

在這種情況下,您仍然必須確保用戶無法使用他們不應該使用的代碼執行某些操作。看起來可怕/困難的 – tstenner 2011-06-14 06:44:49

+0

。讓我開始基礎知識,看看我能爲安全做些什麼 – Skeptor 2011-06-15 04:46:50

0

這個問題很有趣。事實上,Tomcat JSP服務器是Java Servlet的在線編譯器。在你的情況下可能會幫助你一點。 (雖然不是傳統的Java)。

想象一下,您爲用戶提供了Java代碼(最好是WYSIWYG編輯器)的輸入表單,代碼將寫入臨時JSP文件,然後您的代碼將編譯並運行JSP。

但要小心,JSP太強大了(因爲它可能會觸及文件系統等)。確保您的安全措施已設置。

+0

我爲C創建了一個(不包括文件管理和指針功能)。但是java稍微複雜一些,我對已經存在的東西非常有信心。 – Skeptor 2011-06-13 17:32:57

4

谷歌App Engine是一個,你可以幫助建立免費在線java編譯器是哪一個,但你需要有一個賬戶。

很少有其他地方可以defnitely檢查 http://compilr.com/

如果你有小程序, http://www.innovation.ch/java/java_compile.html

編輯:斯蒂芬暗示的,下載的JRE和JDE和甲骨文的網站上使用它 http://www.oracle.com/technetwork/java/javase/downloads/index.html

+0

您可以詳細說明谷歌應用程序引擎,你是說它可以用於主持人的項目,或者它有一種方法來獲得基於Web的編譯器? 也其他網站是好的,但他們不提供服務..他們? – Skeptor 2011-06-13 17:24:20

0

在與遠程位置的人討論Java代碼之前,我有used ideone.com。它是一個基於Web的IDE,可以處理Java以及其他許多語言,並且非常有用。

如果你想自己做,你應該知道java6 and above have compilation built into the language in the javax.tools package

+0

我希望創建一個類似於IDE的開源Web服務,以便任何人都可以在他們的網站中使用。 使用編譯器我們可以編譯代碼,但執行是不可能的。我們可以使用[beanshell](http://www.beanshell.org/),但我不確定它對於更大的概念有多好。 – Skeptor 2011-06-13 17:31:24

0

你可能想看看Fixoncloud編譯器。這是一個基於網絡的在線協作編譯器。任何人都可以對代碼進行更改,並且還可以跟蹤代碼的歷史記錄。編譯器支持C,C++和Java。

根據設置爲代碼的權限,所有者還可以使其代碼完全保密,並只允許特定用戶查看/修改代碼。

這裏的鏈接到編譯器:我覺得你應該鼓勵人們下載和安裝一個真正的JDK和一個真正的IDE http://www.fixoncloud.com/Home/compiler/index.php?id=254