Использование @root
решает проблему, см. Ниже, однако мне все еще интересно, почему ваш код работает таким образом - но я довольно давно не использовал handelbarsjs
<table class="table">
<thead>
<tr>
<th>col-0</th>
<th>col-1</th>
<th>col-2</th>
<th>col-3</th>
<th>col-4</th>
</tr>
</thead>
<tbody>
{{#each dummyArray}}
<tr>
<td>row</td>
{{#each @root.dummyArray2}}
<td>
{{#each @root.dummyArray3}}
{{this.data}}
{{/each}}
</td>
{{/each}}
</tr>
{{/each}}
</tbody>
</table>
Править : код ниже заполняет только ранее пустые ячейки, оставляя остальные пустыми ... странно
<tbody>
{{#each dummyArray}}
<tr>
<td>row</td>
{{#each ../dummyArray2}}
<td>
{{#each ../dummyArray3}}
{{this.data}}
{{/each}}
</td>
{{/each}}
</tr>
{{/each}}
</tbody>
Что-то вроде:
find . -name '*.jar' | while read jarfile; do if jar tf "$jarfile" | grep org/jboss/Main; then echo "$jarfile"; fi; done
Вы можете обернуть это так:
jarscan() {
pattern=$(echo $1 | tr . /)
find . -name '*.jar' | while read jarfile; do if jar tf "$jarfile" | grep "$pattern"; then echo "$jarfile"; fi; done
}
А затем jarscan org .jboss.Main
будет искать этот класс во всех jar-файлах, найденных в текущем каталоге
Если вам нужен только результат, вы можете установить agentransack http://www.mythicsoft.com/agentransack/ и выполнить поиск по тексту. Agentransack выполняет поиск внутри файлов jar и zip.
Непосредственно не отвечая на ваш вопрос, но, возможно, это решит вашу проблему: вы можете распечатать местоположение (например, банку файл), из которого был загружен определенный класс, добавив в код простую строку:
System.err.println(YourClass.class.getProtectionDomain().getCodeSource());
Тогда вы точно будете знать, откуда он.
Несколько лет назад я написал утилиту classfind для решения подобных проблем. Установите ваш classpath так, чтобы он указывал на ваш набор .jar, и classfind скажет вам, в каких банках он найдет определенный класс.
example% classfind -c Document
/usr/java/j2sdk1.4.0/jre/lib/rt.jar -> org.w3c.dom.Document
/usr/java/j2sdk1.4.0/jre/lib/rt.jar -> javax.swing.text.Document
Теперь, чтобы ответить на этот вопрос, вот простая команда оболочки, которая сделала это за нас.
for jarFile in $(
ls -R |
awk '
match($0, ".*:") {
folder=$0
}
! match($0, ".*:") {
print folder$0
}' |
grep "\.jar" |
sed -e "s/:/\//g"
);
do
unzip -l $jarFile;
done |
awk '
match($0, "Archive.*") {
jar=$0
}
! match($0, "Archive.*") {
print jar" : "$0
}' |
grep org.jboss.Main
Инструмент JAR Explorer очень полезен.
Он открывает окно графического интерфейса пользователя с двумя панелями. Вы можете выбрать каталог, инструмент просканирует все файлы JAR в этом каталоге, а затем позволит вам найти определенный класс. Затем загорится нижняя панель со списком совпадений для этого класса во всех отсканированных файлах JAR.
Вы также можете взглянуть на инструмент Java JarScan .
Можно искать по имени класса и по пакету.
Это очень помогает когда Total Commander недоступен и разрешено выполнение только Java.