问题描述
- 在安装Forge到下载必要文件步骤时出现错误 “These Libraries failed download. Try again.org.scala-lang:scala-compiler:2.11” 或其他下载类似错误提示这种原因大部分是自身网络或Forge服务端的问题

解决思路
- 根据错误提示和Forge的文件结构可以看出,无法下载scala-lang文件夹内的2.11版本的scala-compiler.jar
解决办法
- 前往官方提供的下载点
- 下载 scala-lang/scala-compiler/2.11.1 内的 scala-compiler-2.11.1.jar
- 放到 Miecraft所在文件夹 /.minecraft/libraries/org/scala-lang/scala-compiler/2.11.1 内如果没有该文件夹,按照路径创建
扩展用法
- 错误提示 org.scala-lang:scala-compiler:2.11
- 指的是路径:org/scala-lang/scala-compiler/2.11
- 知道了错误提示的意思,出现其他类似错误也可以用此方法解决
- 2.11为大版本号,如 2.11.1 即为 2.11 的子版本号,错误提示 2.11 ,而官方文件中是 2.11.1 也可以使用
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
(function () { function prettifyLang(raw) { if(!raw) return 'Text'; // "language-plain-text" => "Plain Text" return raw .replace(/^language-?/i, '') .replace(/^lang-?/i, '') .replace(/[^a-z0-9\-_]/ig, '') .replace(/[-_]+/g, ' ') .replace(/\b\w/g, function(c){ return c.toUpperCase(); }) || 'Text'; } function buildCopySVG() { return ''; } function makeToolbarFor(pre) { if (pre.closest('.code-wrapper')) return; // 已处理 var code = pre.querySelector('code'); // 取 class 中的 language-XXX 或 lang-XXX var lang = 'Text'; if (code && code.className) { var m = code.className.match(/(?:language|lang)[-_]?([^\s]+)/i); if (m) lang = prettifyLang(m[0]); else { // 若没有找到,尝试取 code 的 data-lang 属性 lang = code.getAttribute('data-lang') || code.getAttribute('data-language') || 'Text'; lang = prettifyLang(lang); } } // wrap var wrapper = document.createElement('div'); wrapper.className = 'code-wrapper'; pre.parentNode.insertBefore(wrapper, pre); wrapper.appendChild(pre); // toolbar var toolbar = document.createElement('div'); toolbar.className = 'code-toolbar'; var langSpan = document.createElement('span'); langSpan.className = 'code-lang'; langSpan.textContent = lang; var actions = document.createElement('div'); actions.className = 'code-actions'; var copyBtn = document.createElement('button'); copyBtn.type = 'button'; copyBtn.className = 'copy-btn'; copyBtn.setAttribute('aria-label', '复制代码'); copyBtn.innerHTML = buildCopySVG() + '复制'; actions.appendChild(copyBtn); toolbar.appendChild(langSpan); toolbar.appendChild(actions); wrapper.insertBefore(toolbar, pre); // copy handler copyBtn.addEventListener('click', function () { var text = code ? code.innerText : pre.innerText; if (!text) return; // 现代 API if (navigator.clipboard && navigator.clipboard.writeText) { navigator.clipboard.writeText(text).then(function () { flashCopied(copyBtn); }, function () { fallbackCopy(text, copyBtn); }); } else { fallbackCopy(text, copyBtn); } }); } function fallbackCopy(text, btn) { try { var ta = document.createElement('textarea'); ta.value = text; // prevent scroll jump ta.style.position = 'fixed'; ta.style.left = '-9999px'; document.body.appendChild(ta); ta.select(); var ok = document.execCommand('copy'); document.body.removeChild(ta); if (ok) flashCopied(btn); else alert('复制失败,请手动复制。'); } catch (e) { alert('复制失败,请手动复制。'); } } function flashCopied(btn) { var span = btn.querySelector('.copy-text'); if (!span) return; span.textContent = '已复制'; btn.classList.add('copied'); setTimeout(function () { span.textContent = '复制'; btn.classList.remove('copied'); }, 2000); } // Run on DOM ready if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', function () { document.querySelectorAll('pre').forEach(makeToolbarFor); }); } else { document.querySelectorAll('pre').forEach(makeToolbarFor); } // 如果网站通过 PJAX/章节异步加载内容,建议在对应回调中再次调用 makeToolbarFor })();